2016-10-24 19:16:00

by John W. Linville

[permalink] [raw]
Subject: [PATCH] nbd: fix incorrect unlock of nbd->sock_lock in sock_shutdown

Commit 0eadf37afc250 ("nbd: allow block mq to deal with timeouts")
changed normal usage of nbd->sock_lock to use spin_lock/spin_unlock
rather than the *_irq variants, but it missed this unlock in an
error path.

Found by Coverity, CID 1373871.

Signed-off-by: John W. Linville <[email protected]>
Cc: Josef Bacik <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Markus Pargmann <[email protected]>
Fixes: 0eadf37afc250 ("nbd: allow block mq to deal with timeouts")
---
By inspection (i.e. compile tested only)...

drivers/block/nbd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index ba405b55329f..19a16b2dbb91 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -164,7 +164,7 @@ static void sock_shutdown(struct nbd_device *nbd)
spin_lock(&nbd->sock_lock);

if (!nbd->sock) {
- spin_unlock_irq(&nbd->sock_lock);
+ spin_unlock(&nbd->sock_lock);
return;
}

--
2.7.4


2016-10-24 19:18:39

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] nbd: fix incorrect unlock of nbd->sock_lock in sock_shutdown

On 10/24/2016 01:13 PM, John W. Linville wrote:
> Commit 0eadf37afc250 ("nbd: allow block mq to deal with timeouts")
> changed normal usage of nbd->sock_lock to use spin_lock/spin_unlock
> rather than the *_irq variants, but it missed this unlock in an
> error path.

Thanks John, applied.

--
Jens Axboe