]> err.no Git - linux-2.6/commitdiff
[PATCH] SELinux: convert sbsec semaphore to a mutex
authorEric Paris <eparis@redhat.com>
Tue, 26 Sep 2006 06:32:02 +0000 (23:32 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 26 Sep 2006 15:48:53 +0000 (08:48 -0700)
This patch converts the semaphore in the superblock security struct to a
mutex.  No locking changes or other code changes are done.

Signed-off-by: Eric Paris <eparis@redhat.com>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Acked-by: James Morris <jmorris@namei.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
security/selinux/hooks.c
security/selinux/include/objsec.h

index 63ad57ab44fcaea232f475f60647d8b55636fbb3..55cec4d6f11749ed0f197d535db9e42cc9bb100a 100644 (file)
@@ -51,7 +51,6 @@
 #include <net/ip.h>            /* for sysctl_local_port_range[] */
 #include <net/tcp.h>           /* struct or_callable used in sock_rcv_skb */
 #include <asm/uaccess.h>
-#include <asm/semaphore.h>
 #include <asm/ioctls.h>
 #include <linux/bitops.h>
 #include <linux/interrupt.h>
@@ -243,7 +242,7 @@ static int superblock_alloc_security(struct super_block *sb)
        if (!sbsec)
                return -ENOMEM;
 
-       init_MUTEX(&sbsec->sem);
+       mutex_init(&sbsec->lock);
        INIT_LIST_HEAD(&sbsec->list);
        INIT_LIST_HEAD(&sbsec->isec_head);
        spin_lock_init(&sbsec->isec_lock);
@@ -595,7 +594,7 @@ static int superblock_doinit(struct super_block *sb, void *data)
        struct inode *inode = root->d_inode;
        int rc = 0;
 
-       down(&sbsec->sem);
+       mutex_lock(&sbsec->lock);
        if (sbsec->initialized)
                goto out;
 
@@ -690,7 +689,7 @@ next_inode:
        }
        spin_unlock(&sbsec->isec_lock);
 out:
-       up(&sbsec->sem);
+       mutex_unlock(&sbsec->lock);
        return rc;
 }
 
index 7d5a0289878b5df611e624995e2bcb37862b623f..ef2267fea8bdd47dae5f135e2796b5493790034a 100644 (file)
@@ -63,7 +63,7 @@ struct superblock_security_struct {
        unsigned int behavior;          /* labeling behavior */
        unsigned char initialized;      /* initialization flag */
        unsigned char proc;             /* proc fs */
-       struct semaphore sem;
+       struct mutex lock;
        struct list_head isec_head;
        spinlock_t isec_lock;
 };