[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
1 changed files with 1 additions and 1 deletions
|
@ -253,7 +253,7 @@ static int release(struct socket *sock)
|
||||||
dbg("sock_delete: %x\n",tsock);
|
dbg("sock_delete: %x\n",tsock);
|
||||||
if (!tsock)
|
if (!tsock)
|
||||||
return 0;
|
return 0;
|
||||||
down_interruptible(&tsock->sem);
|
down(&tsock->sem);
|
||||||
if (!sock->sk) {
|
if (!sock->sk) {
|
||||||
up(&tsock->sem);
|
up(&tsock->sem);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue