From: Lv Yunlong Date: Thu, 11 Mar 2021 06:30:05 +0000 (-0800) Subject: scsi: myrs: Fix a double free in myrs_cleanup() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=2bb817712e2f77486d6ee17e7efaf91997a685f8;p=linux.git scsi: myrs: Fix a double free in myrs_cleanup() In myrs_cleanup(), cs->mmio_base will be freed twice by iounmap(). Link: https://lore.kernel.org/r/20210311063005.9963-1-lyl2019@mail.ustc.edu.cn Fixes: 77266186397c ("scsi: myrs: Add Mylex RAID controller (SCSI interface)") Reviewed-by: Hannes Reinecke Signed-off-by: Lv Yunlong Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/myrs.c b/drivers/scsi/myrs.c index 4adf9ded296aa..329fd025c7189 100644 --- a/drivers/scsi/myrs.c +++ b/drivers/scsi/myrs.c @@ -2273,12 +2273,12 @@ static void myrs_cleanup(struct myrs_hba *cs) if (cs->mmio_base) { cs->disable_intr(cs); iounmap(cs->mmio_base); + cs->mmio_base = NULL; } if (cs->irq) free_irq(cs->irq, cs); if (cs->io_addr) release_region(cs->io_addr, 0x80); - iounmap(cs->mmio_base); pci_set_drvdata(pdev, NULL); pci_disable_device(pdev); scsi_host_put(cs->host);