Commit 03bf73c3 authored by Navid Emamdoost's avatar Navid Emamdoost Committed by Jens Axboe
Browse files

nbd: prevent memory leak



In nbd_add_socket when krealloc succeeds, if nsock's allocation fail the
reallocted memory is leak. The correct behaviour should be assigning the
reallocted memory to config->socks right after success.

Reviewed-by: default avatarJosef Bacik <josef@toxicpanda.com>
Signed-off-by: default avatarNavid Emamdoost <navid.emamdoost@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 866ca95d
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1004,14 +1004,15 @@ static int nbd_add_socket(struct nbd_device *nbd, unsigned long arg,
		sockfd_put(sock);
		return -ENOMEM;
	}

	config->socks = socks;

	nsock = kzalloc(sizeof(struct nbd_sock), GFP_KERNEL);
	if (!nsock) {
		sockfd_put(sock);
		return -ENOMEM;
	}

	config->socks = socks;

	nsock->fallback_index = -1;
	nsock->dead = false;
	mutex_init(&nsock->tx_lock);