scsi: be2iscsi: Fix a memleak in beiscsi_init_wrb_handle()
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Thu, 23 Nov 2023 08:19:41 +0000 (16:19 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 6 Dec 2023 01:38:26 +0000 (20:38 -0500)
When an error occurs in the for loop of beiscsi_init_wrb_handle(), we
should free phwi_ctxt->be_wrbq before returning an error code to prevent
potential memleak.

Fixes: a7909b396ba7 ("[SCSI] be2iscsi: Fix dynamic CID allocation Mechanism in driver")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Link: https://lore.kernel.org/r/20231123081941.24854-1-dinghao.liu@zju.edu.cn
Reviewed-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/be2iscsi/be_main.c

index e48f14ad6dfd89293375c1402458b852e240f7e7..06acb5ff609ee719b0c72439dcd30d79468b32c6 100644 (file)
@@ -2710,6 +2710,7 @@ init_wrb_hndl_failed:
                kfree(pwrb_context->pwrb_handle_base);
                kfree(pwrb_context->pwrb_handle_basestd);
        }
+       kfree(phwi_ctxt->be_wrbq);
        return -ENOMEM;
 }