[PATCH] SELinux: convert sbsec semaphore to a mutex
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>
This commit is contained in:
parent
2397074172
commit
bc7e982b84
|
@ -51,7 +51,6 @@
|
||||||
#include <net/ip.h> /* for sysctl_local_port_range[] */
|
#include <net/ip.h> /* for sysctl_local_port_range[] */
|
||||||
#include <net/tcp.h> /* struct or_callable used in sock_rcv_skb */
|
#include <net/tcp.h> /* struct or_callable used in sock_rcv_skb */
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <asm/semaphore.h>
|
|
||||||
#include <asm/ioctls.h>
|
#include <asm/ioctls.h>
|
||||||
#include <linux/bitops.h>
|
#include <linux/bitops.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
|
@ -243,7 +242,7 @@ static int superblock_alloc_security(struct super_block *sb)
|
||||||
if (!sbsec)
|
if (!sbsec)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
init_MUTEX(&sbsec->sem);
|
mutex_init(&sbsec->lock);
|
||||||
INIT_LIST_HEAD(&sbsec->list);
|
INIT_LIST_HEAD(&sbsec->list);
|
||||||
INIT_LIST_HEAD(&sbsec->isec_head);
|
INIT_LIST_HEAD(&sbsec->isec_head);
|
||||||
spin_lock_init(&sbsec->isec_lock);
|
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;
|
struct inode *inode = root->d_inode;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
down(&sbsec->sem);
|
mutex_lock(&sbsec->lock);
|
||||||
if (sbsec->initialized)
|
if (sbsec->initialized)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
@ -690,7 +689,7 @@ next_inode:
|
||||||
}
|
}
|
||||||
spin_unlock(&sbsec->isec_lock);
|
spin_unlock(&sbsec->isec_lock);
|
||||||
out:
|
out:
|
||||||
up(&sbsec->sem);
|
mutex_unlock(&sbsec->lock);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ struct superblock_security_struct {
|
||||||
unsigned int behavior; /* labeling behavior */
|
unsigned int behavior; /* labeling behavior */
|
||||||
unsigned char initialized; /* initialization flag */
|
unsigned char initialized; /* initialization flag */
|
||||||
unsigned char proc; /* proc fs */
|
unsigned char proc; /* proc fs */
|
||||||
struct semaphore sem;
|
struct mutex lock;
|
||||||
struct list_head isec_head;
|
struct list_head isec_head;
|
||||||
spinlock_t isec_lock;
|
spinlock_t isec_lock;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue