mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
NetLabel: correct locking in selinux_netlbl_socket_setsid()
The spinlock protecting the update of the "sksec->nlbl_state" variable is not currently softirq safe which can lead to problems. This patch fixes this by changing the spin_{un}lock() functions into spin_{un}lock_bh() functions. Signed-off-by: Paul Moore <paul.moore@hp.com> Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
parent
86112ffdcc
commit
7979512006
1 changed files with 2 additions and 2 deletions
|
@ -2491,9 +2491,9 @@ static int selinux_netlbl_socket_setsid(struct socket *sock, u32 sid)
|
|||
|
||||
rc = netlbl_socket_setattr(sock, &secattr);
|
||||
if (rc == 0) {
|
||||
spin_lock(&sksec->nlbl_lock);
|
||||
spin_lock_bh(&sksec->nlbl_lock);
|
||||
sksec->nlbl_state = NLBL_LABELED;
|
||||
spin_unlock(&sksec->nlbl_lock);
|
||||
spin_unlock_bh(&sksec->nlbl_lock);
|
||||
}
|
||||
|
||||
netlbl_socket_setsid_return:
|
||||
|
|
Loading…
Add table
Reference in a new issue