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: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
866ca95da5
commit
03bf73c315
@ -1004,14 +1004,15 @@ static int nbd_add_socket(struct nbd_device *nbd, unsigned long arg,
|
|||||||
sockfd_put(sock);
|
sockfd_put(sock);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
config->socks = socks;
|
||||||
|
|
||||||
nsock = kzalloc(sizeof(struct nbd_sock), GFP_KERNEL);
|
nsock = kzalloc(sizeof(struct nbd_sock), GFP_KERNEL);
|
||||||
if (!nsock) {
|
if (!nsock) {
|
||||||
sockfd_put(sock);
|
sockfd_put(sock);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
config->socks = socks;
|
|
||||||
|
|
||||||
nsock->fallback_index = -1;
|
nsock->fallback_index = -1;
|
||||||
nsock->dead = false;
|
nsock->dead = false;
|
||||||
mutex_init(&nsock->tx_lock);
|
mutex_init(&nsock->tx_lock);
|
||||||
|
Loading…
Reference in New Issue
Block a user