Re: [PATCH] SCSI, target: Don't leak memory in error path inpscsi_alloc_task()

From: Nicholas A. Bellinger
Date: Sat Jan 29 2011 - 17:56:37 EST


On Sat, 2011-01-29 at 23:29 +0100, Jesper Juhl wrote:
> We'll leak the memory allocated via kzalloc() to 'pt' if the allocation of
> memory for 'pt->pscsi_cdb' fails in pscsi_alloc_task().
> This patch fixes the leak by kfree()'ing the previously allocated memory
> in the error path.
>
> Signed-off-by: Jesper Juhl <jj@xxxxxxxxxxxxx>
> ---
> target_core_pscsi.c | 1 +
> 1 file changed, 1 insertion(+)
>
> Compile tested only since I lack the hardware.
>
> diff --git a/drivers/target/target_core_pscsi.c b/drivers/target/target_core_pscsi.c
> index 742d246..84561a0 100644
> --- a/drivers/target/target_core_pscsi.c
> +++ b/drivers/target/target_core_pscsi.c
> @@ -815,6 +815,7 @@ pscsi_alloc_task(struct se_cmd *cmd)
>
> pt->pscsi_cdb = kzalloc(scsi_command_size(cdb), GFP_KERNEL);
> if (!(pt->pscsi_cdb)) {
> + kfree(pt);
> printk(KERN_ERR "pSCSI: Unable to allocate extended"
> " pt->pscsi_cdb\n");
> return NULL;
>
>

Thanks, but this one was already fixed recently by Roland in
lio-core-2.6.git/linus-38-rc2, and included in the series to mainline as
[PATCH 04/24]:

commit 85133a962707b0e550c3f5f151557bed3e056869
Author: Roland Dreier <rolandd@xxxxxxxxx>
Date: Sun Jan 16 06:59:51 2011 +0000

target: Fix memory leak on error path

Best Regards,

--nab




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/