]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
nbd:fix memory leak in nbd_get_socket()
authorSun Ke <sunke32@huawei.com>
Tue, 19 Nov 2019 06:09:11 +0000 (14:09 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 1 Dec 2019 08:16:09 +0000 (09:16 +0100)
commit dff10bbea4be47bdb615b036c834a275b7c68133 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/block/nbd.c

index 867841c56a6da464ecec98713a55f0ba42db0537..d768408734207b419b7e6be82098d53fd812ad60 100644 (file)
@@ -945,6 +945,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;
        }