scsi: qla4xxx: fix double free bug
authorPan Bian <bianpan2016@163.com>
Tue, 5 Nov 2019 09:25:27 +0000 (17:25 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 20 Nov 2019 02:37:34 +0000 (21:37 -0500)
The variable init_fw_cb is released twice, resulting in a double free
bug. The call to the function dma_free_coherent() before goto is removed to
get rid of potential double free.

Fixes: 2a49a78ed3c8 ("[SCSI] qla4xxx: added IPv6 support.")
Link: https://lore.kernel.org/r/1572945927-27796-1-git-send-email-bianpan2016@163.com
Signed-off-by: Pan Bian <bianpan2016@163.com>
Acked-by: Manish Rangankar <mrangankar@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla4xxx/ql4_mbx.c

index dac9a7013208abd665784afab7ef090615b99468..02636b4785c5875dbb40945b1c9b15948918ee56 100644 (file)
@@ -640,9 +640,6 @@ int qla4xxx_initialize_fw_cb(struct scsi_qla_host * ha)
 
        if (qla4xxx_get_ifcb(ha, &mbox_cmd[0], &mbox_sts[0], init_fw_cb_dma) !=
            QLA_SUCCESS) {
-               dma_free_coherent(&ha->pdev->dev,
-                                 sizeof(struct addr_ctrl_blk),
-                                 init_fw_cb, init_fw_cb_dma);
                goto exit_init_fw_cb;
        }