scsi: qla2xxx: Fix double free of the ha->vp_map pointer
authorSaurav Kashyap <skashyap@marvell.com>
Tue, 27 Feb 2024 16:41:23 +0000 (22:11 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sun, 10 Mar 2024 22:44:43 +0000 (18:44 -0400)
Coverity scan reported potential risk of double free of the pointer
ha->vp_map.  ha->vp_map was freed in qla2x00_mem_alloc(), and again freed
in function qla2x00_mem_free(ha).

Assign NULL to vp_map and kfree take care of NULL.

Cc: stable@vger.kernel.org
Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Link: https://lore.kernel.org/r/20240227164127.36465-8-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_os.c

index b3bb974ae7978251f57acba099103af5925abe18..1e2f52210f60502a31035df335e5c33c359f67e1 100644 (file)
@@ -4602,6 +4602,7 @@ fail_free_init_cb:
        ha->init_cb_dma = 0;
 fail_free_vp_map:
        kfree(ha->vp_map);
+       ha->vp_map = NULL;
 fail:
        ql_log(ql_log_fatal, NULL, 0x0030,
            "Memory allocation failure.\n");