diff options
author | Paul Moore <paul.moore@hp.com> | 2008-02-25 11:40:33 -0500 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2008-04-18 20:26:03 +1000 |
commit | f74af6e816c940c678c235d49486fe40d7e49ce9 (patch) | |
tree | 06f2fa54bd7ceabac2ad29a6ab0aca1deb87c032 /security/selinux/hooks.c | |
parent | 4b119e21d0c66c22e8ca03df05d9de623d0eb50f (diff) | |
download | op-kernel-dev-f74af6e816c940c678c235d49486fe40d7e49ce9.zip op-kernel-dev-f74af6e816c940c678c235d49486fe40d7e49ce9.tar.gz |
SELinux: Correct the NetLabel locking for the sk_security_struct
The RCU/spinlock locking approach for the nlbl_state in the sk_security_struct
was almost certainly overkill. This patch removes both the RCU and spinlock
locking, relying on the existing socket locks to handle the case of multiple
writers. This change also makes several code reductions possible.
Less locking, less code - it's a Good Thing.
Signed-off-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'security/selinux/hooks.c')
-rw-r--r-- | security/selinux/hooks.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index d39b59c..d51bd40 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -280,7 +280,7 @@ static int sk_alloc_security(struct sock *sk, int family, gfp_t priority) ssec->sid = SECINITSID_UNLABELED; sk->sk_security = ssec; - selinux_netlbl_sk_security_init(ssec, family); + selinux_netlbl_sk_security_reset(ssec, family); return 0; } @@ -4139,7 +4139,7 @@ static void selinux_sk_clone_security(const struct sock *sk, struct sock *newsk) newssec->peer_sid = ssec->peer_sid; newssec->sclass = ssec->sclass; - selinux_netlbl_sk_security_clone(ssec, newssec); + selinux_netlbl_sk_security_reset(newssec, newsk->sk_family); } static void selinux_sk_getsecid(struct sock *sk, u32 *secid) |