scsi: qla4xxx: fix double free bug
authorPan Bian <bianpan2016@163.com>
Tue, 5 Nov 2019 09:25:27 +0000 (17:25 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Jan 2020 07:19:43 +0000 (08:19 +0100)
commit 3fe3d2428b62822b7b030577cd612790bdd8c941 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/qla4xxx/ql4_mbx.c

index c291fdff1b338a2ff0ec50930f82298dab279e07..ea3b77ba12a2179f49e3697e1d3000a39022a439 100644 (file)
@@ -641,9 +641,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;
        }