[PATCH] selinux: fix selinux_netlbl_inode_permission() locking
authorParag Warudkar <paragw@paragw.zapto.org>
Tue, 2 Jan 2007 20:09:31 +0000 (21:09 +0100)
committerLinus Torvalds <torvalds@woody.osdl.org>
Tue, 2 Jan 2007 21:32:21 +0000 (13:32 -0800)
commit9883a13c72dbf8c518814b6091019643cdb34429
treecb904d6db071a985598d8b8659dee1556f6fb231
parentec8acb6904fabb8e741f741ec99bb1c18f2b3dee
[PATCH] selinux: fix selinux_netlbl_inode_permission() locking

do not call a sleeping lock API in an RCU read section.
lock_sock_nested can sleep, its BH counterpart doesn't.
selinux_netlbl_inode_permission() needs to use the BH counterpart
unconditionally.

Compile tested.

From: Ingo Molnar <mingo@elte.hu>

added BH disabling, because this function can be called from non-atomic
contexts too, so a naked bh_lock_sock() would be deadlock-prone.

Boot-tested the resulting kernel.

Signed-off-by: Parag Warudkar <paragw@paragw.zapto.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
security/selinux/ss/services.c