Re: [patch 24/36] ioremap balanced with iounmap for drivers/scsi/3w-9xxx.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/10/06, akpm@xxxxxxxx <akpm@xxxxxxxx> wrote:
From: Amol Lad <amol@xxxxxxxxxxxxxxxxxxx>

ioremap must be balanced by an iounmap and failing to do so can result in a
memory leak.

 drivers/scsi/3w-9xxx.c |    5 +++++
 1 files changed, 5 insertions(+)

diff -puN drivers/scsi/3w-9xxx.c~ioremap-balanced-with-iounmap-drivers-scsi-3w-9xxxc drivers/scsi/3w-9xxx.c
--- a/drivers/scsi/3w-9xxx.c~ioremap-balanced-with-iounmap-drivers-scsi-3w-9xxxc
+++ a/drivers/scsi/3w-9xxx.c
@@ -2147,6 +2147,8 @@ out_remove_host:
        scsi_remove_host(host);
 out_release_mem_region:
        pci_release_regions(pdev);
+       if (tw_dev->base_addr)
+               iounmap(tw_dev->base_addr);
 out_free_device_extension:
        twa_free_device_extension(tw_dev);
        scsi_host_put(host);
@@ -2173,6 +2175,9 @@ static void twa_remove(struct pci_dev *p
        /* Free up the IRQ */
        free_irq(tw_dev->tw_pci_dev->irq, tw_dev);

+       /* Free IO mem */
+       iounmap(tw_dev->base_addr);
+
        /* Shutdown the card */
        __twa_shutdown(tw_dev);

_


NAK...  The second iounmap() call is placed incorrectly.  __twa_shutdown()
is called after that, and it still needs to use the registers.  I'll
roll a corrected
patch into my next update.

-Adam
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux