linux/drivers/pci/hotplug
Neil Horman 3e3d0e9246 PCI hotplug: ibmphp: Fix module ref count underflow
I happened to notice that the ibmphp hotplug driver does something
rather silly in its init routine.  It purposely calls module_put so as
to underflow its module ref count to avoid being removed from the
kernel.  This is bad practice, and wrong, since it provides a window for
subsequent module_gets to reset the refcount to zero, allowing an unload
to race in and cause all sorts of mysterious panics.  If the module is
unsafe to load, simply omitting the module_exit parameter is sufficient
to prevent the kernel from allowing the unload.

Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2008-12-17 16:07:47 -08:00
..
acpi_pcihp.c PCI: add acpi_find_root_bridge_handle 2008-08-18 13:48:04 -07:00
acpiphp_core.c PCI hotplug: acpiphp wants a 64-bit _SUN 2008-12-16 13:26:46 -08:00
acpiphp_glue.c PCI hotplug: acpiphp wants a 64-bit _SUN 2008-12-16 13:26:46 -08:00
acpiphp_ibm.c Fix PCI hotplug printk format 2008-10-23 19:48:29 -07:00
acpiphp.h PCI hotplug: acpiphp wants a 64-bit _SUN 2008-12-16 13:26:46 -08:00
cpci_hotplug_core.c PCI: cpci_hotplug: stop managing hotplug_slot->name 2008-10-22 16:42:39 -07:00
cpci_hotplug_pci.c PCI: cpci_hotplug: stop managing hotplug_slot->name 2008-10-22 16:42:39 -07:00
cpci_hotplug.h PCI: cpci_hotplug: stop managing hotplug_slot->name 2008-10-22 16:42:39 -07:00
cpcihp_generic.c PCI Hotplug: make cpcihp driver use modern apis 2008-04-20 21:46:56 -07:00
cpcihp_zt5550.c PCI: ZT5550 CPCI Hotplug driver fix 2007-05-02 19:02:40 -07:00
cpcihp_zt5550.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpqphp_core.c PCI hotplug: cpqphp: fix kernel NULL pointer dereference 2008-10-23 14:40:06 -07:00
cpqphp_ctrl.c PCI hotplug: fix logic in Compaq hotplug controller bus speed setup 2008-10-22 16:44:00 -07:00
cpqphp_nvram.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
cpqphp_nvram.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpqphp_pci.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
cpqphp_sysfs.c [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
cpqphp.h PCI: cpqphp: stop managing hotplug_slot->name 2008-10-22 16:42:40 -07:00
fakephp.c PCI Hotplug: fakephp: add duplicate slot name debugging 2008-10-22 16:42:44 -07:00
ibmphp_core.c PCI hotplug: ibmphp: Fix module ref count underflow 2008-12-17 16:07:47 -08:00
ibmphp_ebda.c PCI: ibmphp: stop managing hotplug_slot->name 2008-10-22 16:42:41 -07:00
ibmphp_hpc.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
ibmphp_pci.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
ibmphp_res.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
ibmphp.h PCI: ibmphp: stop managing hotplug_slot->name 2008-10-22 16:42:41 -07:00
Kconfig PCI Hotplug: the ibm driver is not dependant on PCI_LEGACY 2008-04-20 21:46:57 -07:00
Makefile PCI: hotplug: Link fakephp last 2008-02-01 15:04:20 -08:00
pci_hotplug_core.c PCI: Hotplug core: remove 'name' 2008-10-22 16:42:43 -07:00
pciehp_core.c PCI: pciehp: fix unexpected power off with pciehp_force 2008-12-16 13:26:46 -08:00
pciehp_ctrl.c PCI hotplug: pciehp: message refinement 2008-10-23 14:47:39 -07:00
pciehp_hpc.c PCI hotplug: pciehp: message refinement 2008-10-23 14:47:39 -07:00
pciehp_pci.c PCI hotplug: pciehp: message refinement 2008-10-23 14:47:39 -07:00
pciehp.h PCI hotplug: pciehp: message refinement 2008-10-23 14:47:39 -07:00
pcihp_skeleton.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
rpadlpar_core.c PCI: replace remaining __FUNCTION__ occurrences 2008-04-20 21:47:09 -07:00
rpadlpar_sysfs.c PCI: introduce pci_slot 2008-06-10 14:37:03 -07:00
rpadlpar.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rpaphp_core.c PCI hotplug: rpaphp: make debug var unique 2008-10-20 10:54:27 -07:00
rpaphp_pci.c PCI hotplug: rpaphp: make debug var unique 2008-10-20 10:54:27 -07:00
rpaphp_slot.c PCI: rpaphp: kmalloc/kfree slot->name directly 2008-10-22 16:42:42 -07:00
rpaphp.h PCI hotplug: rpaphp: make debug var unique 2008-10-20 10:54:27 -07:00
sgi_hotplug.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-10-23 10:20:36 -07:00
shpchp_core.c PCI hotplug: shpchp: message refinement 2008-10-23 16:14:00 -07:00
shpchp_ctrl.c PCI hotplug: shpchp: message refinement 2008-10-23 16:14:00 -07:00
shpchp_hpc.c PCI hotplug: shpchp: message refinement 2008-10-23 16:14:00 -07:00
shpchp_pci.c PCI hotplug: shpchp: message refinement 2008-10-23 16:14:00 -07:00
shpchp_sysfs.c SHPCHP: fix __must_check warnings 2006-09-26 17:43:53 -07:00
shpchp.h PCI hotplug: shpchp: message refinement 2008-10-23 16:14:00 -07:00