PERFORCE change 105779 for review

Todd Miller millert at FreeBSD.org
Thu Sep 7 13:27:23 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=105779

Change 105779 by millert at millert_g5tower on 2006/09/07 13:26:42

	Slightly less obfuscated label handle locking: Rename mutex
	in label handle from io_lock_data to lh_lock_data since it
	is part of the label handle and not an ipc_object struct.
	This means we need to define lh_lock, lh_unlock and
	lh_lock_init in terms of the mutex_* functions and not io_*.

Affected files ...

.. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_labelh.c#6 edit
.. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_labelh.h#3 edit
.. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/kern/task.h#2 edit

Differences ...

==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_labelh.c#6 (text+ko) ====

@@ -71,7 +71,7 @@
 
 	/* Allocate new label handle, insert port and label. */
 	lh = (ipc_labelh_t)zalloc(ipc_labelh_zone);
-	io_lock_init(lh);
+	lh_lock_init(lh);
 	lh->lh_port = port;
 	lh->lh_label = *inl;
 	lh->lh_type = LABELH_TYPE_USER;

==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_labelh.h#3 (text+ko) ====

@@ -37,7 +37,7 @@
 	int               lh_type;
 	struct label      lh_label;
 	ipc_port_t        lh_port;
-	decl_mutex_data(,	io_lock_data)
+	decl_mutex_data(,	lh_lock_data)
 } *ipc_labelh_t;
 
 #define	LABELH_TYPE_KERN	0
@@ -60,8 +60,9 @@
 
 extern zone_t ipc_labelh_zone;
 
-#define lh_lock io_lock
-#define lh_unlock io_unlock
+#define lh_lock_init(lh)	mutex_init(&(lh)->lh_lock_data, 0)
+#define lh_lock(lh)		mutex_lock(&(lh)->lh_lock_data)
+#define lh_unlock(lh)		mutex_unlock(&(lh)->lh_lock_data)
 
 /*
  * Check the number of references the label handle has left.

==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/kern/task.h#2 (text+ko) ====

@@ -215,8 +215,8 @@
 #ifdef MAC
 #define maclabel label->lh_label
 
-#define tasklabel_lock(task) io_lock((task)->label)
-#define tasklabel_unlock(task) io_unlock((task)->label)
+#define tasklabel_lock(task)	lh_lock((task)->label)
+#define tasklabel_unlock(task)	lh_unlock((task)->label)
 
 extern void tasklabel_lock2(task_t a, task_t b);
 extern void tasklabel_unlock2(task_t a, task_t b);


More information about the p4-projects mailing list