File apparmor_namespacesem.patch of Package kernel

From: tonyj@suse.de
Subject: Export namespace semaphore
Patch-mainline: no

Export global namespace_sem (this used to be a per namespace semaphore).
Alas, this isn't going to win _any_ points for style.
Patch is not in mainline -- pending AppArmor code submission to lkml


---
 fs/namespace.c            |    3 ++-
 include/linux/namespace.h |    3 +++
 2 files changed, 5 insertions(+), 1 deletion(-)

--- linux-2.6.18.orig/fs/namespace.c
+++ linux-2.6.18/fs/namespace.c
@@ -45,7 +45,8 @@ static int event;
 static struct list_head *mount_hashtable __read_mostly;
 static int hash_mask __read_mostly, hash_bits __read_mostly;
 static kmem_cache_t *mnt_cache __read_mostly;
-static struct rw_semaphore namespace_sem;
+struct rw_semaphore namespace_sem;
+EXPORT_SYMBOL_GPL(namespace_sem);
 
 /* /sys/fs */
 decl_subsys(fs, NULL, NULL);
--- linux-2.6.18.orig/include/linux/namespace.h
+++ linux-2.6.18/include/linux/namespace.h
@@ -5,6 +5,9 @@
 #include <linux/mount.h>
 #include <linux/sched.h>
 
+/* exported for AppArmor (SubDomain) */
+extern struct rw_semaphore namespace_sem;
+
 struct namespace {
 	atomic_t		count;
 	struct vfsmount *	root;
openSUSE Build Service is sponsored by