author | Craig Mohrman <craig.mohrman@oracle.com> |
Thu, 04 Aug 2016 08:26:36 -0700 | |
changeset 6548 | 24913c16931e |
parent 5941 | db8aa9865e9f |
permissions | -rw-r--r-- |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
1 |
# Add solaris-specific #pragma init and fini. |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
2 |
# Add NULL pointer check. |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
3 |
# Except for the #pragmas, this patch is suitable for upstream use. |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
4 |
# |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
5 |
+++ src/tspi/rpc/hosttable.c 2014-04-24 11:05:44.000000000 -0700 |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
6 |
--- src/tspi/rpc/hosttable.c 2016-04-18 13:55:57.988441566 -0700 |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
7 |
@@ -21,8 +21,8 @@ |
259
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
8 |
|
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
9 |
static struct host_table *ht = NULL; |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
10 |
|
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
11 |
-TSS_RESULT |
259
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
12 |
-host_table_init() |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
13 |
+static TSS_RESULT |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
14 |
+host_table_init(void) |
259
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
15 |
{ |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
16 |
ht = calloc(1, sizeof(struct host_table)); |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
17 |
if (ht == NULL) { |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
18 |
@@ -35,9 +35,8 @@ |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
19 |
return TSS_SUCCESS; |
259
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
20 |
} |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
21 |
|
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
22 |
-#ifdef SOLARIS |
259
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
23 |
-#pragma init(_init) |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
24 |
-void _init(void) |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
25 |
+#ifdef SOLARIS && !defined(__GNUC__) |
259
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
26 |
+static void my_init(void) |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
27 |
#else |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
28 |
static void __attribute__ ((constructor)) my_init(void) |
259
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
29 |
#endif |
777
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
259
diff
changeset
|
30 |
@@ -46,11 +45,14 @@ |
259
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
31 |
__tspi_obj_list_init(); |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
32 |
} |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
33 |
|
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
34 |
-void |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
35 |
+static void |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
36 |
host_table_final() |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
37 |
{ |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
38 |
struct host_table_entry *hte, *next = NULL; |
777
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
259
diff
changeset
|
39 |
|
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
259
diff
changeset
|
40 |
+ if (ht == NULL) /* no host table to free */ |
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
259
diff
changeset
|
41 |
+ return; |
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
259
diff
changeset
|
42 |
+ |
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
259
diff
changeset
|
43 |
MUTEX_LOCK(ht->lock); |
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
259
diff
changeset
|
44 |
|
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
259
diff
changeset
|
45 |
for (hte = ht->entries; hte; hte = next) { |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
46 |
@@ -69,9 +71,8 @@ |
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
47 |
ht = NULL; |
259
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
48 |
} |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
49 |
|
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
50 |
-#ifdef SOLARIS |
259
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
51 |
-#pragma fini(_fini) |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
52 |
-void _fini(void) |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
53 |
+#ifdef SOLARIS && !defined(__GNUC__) |
259
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
54 |
+static void my_fini(void) |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
55 |
#else |
5941
db8aa9865e9f
15776792 Upgrade TrouSerS TPM library to 0.3.13
Dan Anderson <dan.anderson@oracle.com>
parents:
777
diff
changeset
|
56 |
static void __attribute__ ((destructor)) my_fini(void) |
259
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
57 |
#endif |
777
e2e604cdbd6a
7123028 Problem with crypto/tss
Dan Anderson <dan.anderson@oracle.com>
parents:
259
diff
changeset
|
58 |
@@ -79,6 +80,11 @@ |
259
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
59 |
host_table_final(); |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
60 |
} |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
61 |
|
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
62 |
+#ifdef SOLARIS |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
63 |
+#pragma init(my_init) |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
64 |
+#pragma fini(my_fini) |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
65 |
+#endif |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
66 |
+ |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
67 |
TSS_RESULT |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
68 |
__tspi_add_table_entry(TSS_HCONTEXT tspContext, BYTE *host, int type, struct host_table_entry **ret) |
520697a05dde
7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff
changeset
|
69 |
{ |