android_kernel_xiaomi_sm8350/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
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
cpcihp_zt5550.c
cpcihp_zt5550.h
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
cpqphp_nvram.h
cpqphp_pci.c
cpqphp_sysfs.c
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
ibmphp_pci.c
ibmphp_res.c
ibmphp.h PCI: ibmphp: stop managing hotplug_slot->name 2008-10-22 16:42:41 -07:00
Kconfig
Makefile
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
rpadlpar_core.c
rpadlpar_sysfs.c
rpadlpar.h
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.h PCI hotplug: shpchp: message refinement 2008-10-23 16:14:00 -07:00