components/trousers/patches/tspi_rpc_hosttable.c.patch
author Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
Sat, 20 Oct 2012 00:06:08 -0700
branchs11-sru
changeset 2391 811524a2620b
parent 259 components/trousers/patches/hosttable.c.patch@520697a05dde
child 5941 db8aa9865e9f
permissions -rw-r--r--
7123028 Problem with crypto/tss 7041927 tcsd and libtspi should not use TCP/IP sockets 7002966 libtspi can segv in .fini section 6896514 tss code doesn't do correct privilege check when using mlock 7162897 tcsd daemon goes into maintenance mode after reboot
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2391
811524a2620b 7123028 Problem with crypto/tss
Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
parents: 259
diff changeset
     1
--- src/tspi/rpc/hosttable.c	2010-05-01 19:39:11.000000000 -0700
811524a2620b 7123028 Problem with crypto/tss
Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
parents: 259
diff changeset
     2
+++ src/tspi/rpc/hosttable.c	2012-03-23 16:21:30.018582000 -0700
259
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
     3
@@ -22,7 +22,7 @@
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
     4
 struct host_table *ht = NULL;
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
     5
 
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
     6
 TSS_RESULT
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
     7
-host_table_init()
2391
811524a2620b 7123028 Problem with crypto/tss
Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
parents: 259
diff changeset
     8
+static host_table_init(void)
259
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
     9
 {
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    10
 	ht = calloc(1, sizeof(struct host_table));
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    11
 	if (ht == NULL) {
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    12
@@ -36,8 +36,7 @@
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    13
 }
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    14
 
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    15
 #ifdef SOLARIS
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    16
-#pragma init(_init)
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    17
-void _init(void)
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    18
+static void my_init(void)
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    19
 #else
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    20
 void __attribute__ ((constructor)) my_init(void)
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    21
 #endif
2391
811524a2620b 7123028 Problem with crypto/tss
Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
parents: 259
diff changeset
    22
@@ -46,11 +45,14 @@
259
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    23
 	__tspi_obj_list_init();
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    24
 }
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    25
 
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    26
-void
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    27
+static void
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    28
 host_table_final()
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    29
 {
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    30
 	struct host_table_entry *hte, *next = NULL;
2391
811524a2620b 7123028 Problem with crypto/tss
Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
parents: 259
diff changeset
    31
 
811524a2620b 7123028 Problem with crypto/tss
Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
parents: 259
diff changeset
    32
+	if (ht == NULL) /* no host table to free */
811524a2620b 7123028 Problem with crypto/tss
Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
parents: 259
diff changeset
    33
+		return;
811524a2620b 7123028 Problem with crypto/tss
Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
parents: 259
diff changeset
    34
+
811524a2620b 7123028 Problem with crypto/tss
Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
parents: 259
diff changeset
    35
 	MUTEX_LOCK(ht->lock);
811524a2620b 7123028 Problem with crypto/tss
Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
parents: 259
diff changeset
    36
 
811524a2620b 7123028 Problem with crypto/tss
Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
parents: 259
diff changeset
    37
 	for (hte = ht->entries; hte; hte = next) {
811524a2620b 7123028 Problem with crypto/tss
Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
parents: 259
diff changeset
    38
@@ -70,8 +72,7 @@
259
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    39
 }
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    40
 
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    41
 #ifdef SOLARIS
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    42
-#pragma fini(_fini)
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    43
-void _fini(void)
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    44
+static void my_fini(void)
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    45
 #else
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    46
 void __attribute__ ((destructor)) my_fini(void)
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    47
 #endif
2391
811524a2620b 7123028 Problem with crypto/tss
Tsu-Phong Wu <Tsu-Phong.Wu@oracle.COM>
parents: 259
diff changeset
    48
@@ -79,6 +80,11 @@
259
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    49
 	host_table_final();
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    50
 }
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    51
 
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    52
+#ifdef SOLARIS
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    53
+#pragma init(my_init)
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    54
+#pragma fini(my_fini)
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    55
+#endif
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    56
+
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    57
 TSS_RESULT
520697a05dde 7045320 Move trousers from SFW to Userland
Wyllys Ingersoll <Wyllys.Ingersoll@Oracle.COM>
parents:
diff changeset
    58
 __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
    59
 {