diff options
author | 2019-11-19 14:09:11 +0800 | |
---|---|---|
committer | 2019-11-19 09:23:26 -0700 | |
commit | dff10bbea4be47bdb615b036c834a275b7c68133 (patch) | |
tree | 6b8fb7e10bc91eb1a4a828e66eaa52e3039682a4 /drivers/block/nbd.c | |
parent | rsxx: add missed destroy_workqueue calls in remove (diff) | |
download | linux-dff10bbea4be47bdb615b036c834a275b7c68133.tar.gz linux-dff10bbea4be47bdb615b036c834a275b7c68133.tar.bz2 linux-dff10bbea4be47bdb615b036c834a275b7c68133.zip |
nbd:fix memory leak in nbd_get_socket()
Before returning NULL, put the sock first.
Cc: stable@vger.kernel.org
Fixes: cf1b2326b734 ("nbd: verify socket is supported during setup")
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Mike Christie <mchristi@redhat.com>
Signed-off-by: Sun Ke <sunke32@huawei.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block/nbd.c')
-rw-r--r-- | drivers/block/nbd.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index a94ee45440b3..19e75999bb15 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c @@ -993,6 +993,7 @@ static struct socket *nbd_get_socket(struct nbd_device *nbd, unsigned long fd, if (sock->ops->shutdown == sock_no_shutdown) { dev_err(disk_to_dev(nbd->disk), "Unsupported socket: shutdown callout must be supported.\n"); *err = -EINVAL; + sockfd_put(sock); return NULL; } |