1
linux/drivers/pci
Jesper Juhl b91aac29bb PCI Hotplug: Fix small mem leak in IBM Hot Plug Controller Driver
In drivers/pci/hotplug/ibmphp_ebda.c::ebda_rsrc_controller(), storage is
allocated with kzalloc() and assigned to 'tmp_slot'.  Then lots of
stuff, like ->flag, ->supported_speed etc is set in tmp_slot.  A bit
further down there's then this test :

  if (!bus_info_ptr1) {
    rc = -ENODEV;
    goto error;
  }

At this point, tmp_slot has not been assigned to anything, so when
erroring-out we want to free it, but nothing at the 'error:' label
free's 'tmp_slot' - and we can't really free 'tmp_slot' at 'error:'
since we may jump to that label later when 'tmp_slot' *has* been used
and we do not want it freed. So, the only sane option left seems to be
to kfree(tmp_slot) just before jumping to the 'error:' label in the one
place where this is what actually makes sense. The following patch does
just that and thus kills off a tiny potential memory leak.


Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-03-10 16:38:02 -07:00
..
hotplug PCI Hotplug: Fix small mem leak in IBM Hot Plug Controller Driver 2008-03-10 16:38:02 -07:00
pcie Revert "PCI: PCIE ASPM support" 2008-02-02 11:32:01 -08:00
.gitignore
access.c
bus.c PCI: fix up error messages for pci_bus registering 2008-03-04 15:07:03 -08:00
dmar.c copyright owner and author clean up for intel iommu and related files 2008-02-23 17:12:14 -08:00
hotplug-pci.c PCI: fix section mismatch warning in pci_scan_child_bus 2008-03-04 15:07:03 -08:00
hotplug.c
htirq.c
intel-iommu.c copyright owner and author clean up for intel iommu and related files 2008-02-23 17:12:14 -08:00
intel-iommu.h copyright owner and author clean up for intel iommu and related files 2008-02-23 17:12:14 -08:00
iova.c copyright owner and author clean up for intel iommu and related files 2008-02-23 17:12:14 -08:00
iova.h copyright owner and author clean up for intel iommu and related files 2008-02-23 17:12:14 -08:00
Kconfig PCI: Add Kconfig option to disable deprecated pci_find_* API 2007-11-05 13:35:17 -08:00
Makefile mn10300: add the MN10300/AM33 architecture to the kernel 2008-02-08 09:22:30 -08:00
msi.c PCI: drivers/pci/msi.c: move arch hooks to the top 2008-02-01 15:04:25 -08:00
msi.h
pci-acpi.c PCI: kernel-doc: fix pci-acpi warning 2008-02-21 15:34:37 -08:00
pci-driver.c PCI: Mem Policy: fix mempolicy usage in pci driver 2008-02-01 15:04:20 -08:00
pci-sysfs.c Revert "PCI: PCIE ASPM support" 2008-02-02 11:32:01 -08:00
pci.c PM: Introduce PM_EVENT_HIBERNATE callback state 2008-02-23 10:40:04 -08:00
pci.h PCI: make pci_bus a struct device 2008-02-01 15:04:31 -08:00
probe.c PCI: fix section mismatch warning in pci_scan_child_bus 2008-03-04 15:07:03 -08:00
proc.c PCI: Fix wrong reference counter check for proc_dir_entry 2008-02-21 15:34:39 -08:00
quirks.c PCI: consolidate duplicated MSI enable functions 2008-03-04 15:07:03 -08:00
remove.c Revert "PCI: PCIE ASPM support" 2008-02-02 11:32:01 -08:00
rom.c docbook: fix kernel-api source files 2008-03-03 10:47:14 -08:00
search.c PCI: Add Kconfig option to disable deprecated pci_find_* API 2007-11-05 13:35:17 -08:00
setup-bus.c PCI: fix up setup-bus.c #ifdef 2008-02-21 15:34:38 -08:00
setup-irq.c
setup-res.c PCI: Fix warning in setup-res.c on 32-bit platforms with 64-bit resources 2008-02-01 15:04:25 -08:00
syscall.c PCI: remove unneeded lock_kernel() in drivers/pci/syscall.c. 2008-02-01 15:04:21 -08:00