Re: [PATCH v3] nbd: Fix memory leak in nbd_add_socket

From: Markus Elfring
Date: Mon Jun 22 2020 - 10:25:27 EST


> When adding first socket to nbd, âââ

Can the term ânetwork block deviceâ matter for this change description?


> â A memory leak will occur
> then because the function "nbd_config_put" will free "config->socks" only
> when "config->num_connections" is not zero.

Will an additional imperative wording be helpful for the commit message?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?id=625d3449788f85569096780592549d0340e9c0c7#n151

Regards,
Markus


â
> +++ b/drivers/block/nbd.c
> @@ -1033,25 +1033,26 @@ static int nbd_add_socket(struct nbd_device *nbd, unsigned long arg,
â
> + if (!nsock) {
> + err = -ENOMEM;
> + goto put_socket;
> }
â
> return 0;
> +

I find that the exception handling can be improved a bit more
by adding another jump target.

+e_nomem:
+ err = -ENOMEM;


> +put_socket:
> + sockfd_put(sock);
> + return err;
> }

Would you like to apply any further fine-tuning?

Regards,
Markus