diff options
| -rw-r--r-- | security/selinux/ss/services.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c index bdb7070dd3dc..ee0581557966 100644 --- a/security/selinux/ss/services.c +++ b/security/selinux/ss/services.c | |||
| @@ -2660,9 +2660,11 @@ int selinux_netlbl_inode_permission(struct inode *inode, int mask) | |||
| 2660 | rcu_read_unlock(); | 2660 | rcu_read_unlock(); |
| 2661 | return 0; | 2661 | return 0; |
| 2662 | } | 2662 | } |
| 2663 | lock_sock(sock->sk); | 2663 | local_bh_disable(); |
| 2664 | bh_lock_sock_nested(sock->sk); | ||
| 2664 | rc = selinux_netlbl_socket_setsid(sock, sksec->sid); | 2665 | rc = selinux_netlbl_socket_setsid(sock, sksec->sid); |
| 2665 | release_sock(sock->sk); | 2666 | bh_unlock_sock(sock->sk); |
| 2667 | local_bh_enable(); | ||
| 2666 | rcu_read_unlock(); | 2668 | rcu_read_unlock(); |
| 2667 | 2669 | ||
| 2668 | return rc; | 2670 | return rc; |
