[TIPC]: Fix semaphore handling.
As noted by Kevin, tipc's release() does down_interruptible() and ignores the return value. So if signal_pending() we'll end up doing up() on a non-downed semaphore. Fix. Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
cbebc51f7b
commit
98eb5683fb
|
@ -253,7 +253,7 @@ static int release(struct socket *sock)
|
|||
dbg("sock_delete: %x\n",tsock);
|
||||
if (!tsock)
|
||||
return 0;
|
||||
down_interruptible(&tsock->sem);
|
||||
down(&tsock->sem);
|
||||
if (!sock->sk) {
|
||||
up(&tsock->sem);
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue