original_kernel/drivers/acpi
Arjan van de Ven 23d0a65cf2 toshiba_acpi: close race in toshiba_acpi driver
the toshiba ACPI driver will, in a failure case, free the rfkill state
before stopping the polling timer that would use this state. More interesting,
in the same failure case handling, it calls the exit function, which also
frees the rfkill state, but after stopping the polling.

If the race happens, a NULL pointer is passed to rfkill_force_state()
which then causes a nice dereference.

Fix the race by just not doing the too-early freeing of the rfkill state.

This appears to be the cause of a hot issue on kerneloops.org; while I
have no solid evidence of that this patch will fix the issue, the race
appears rather real.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-28 14:21:53 -05:00
..
dispatcher
events Merge branch 'ec' into release 2008-11-11 21:17:26 -05:00
executer
hardware
namespace
parser
resources
sleep ACPI suspend: Blacklist boxes that require us to set SCI_EN directly on resume 2008-11-26 17:53:13 -05:00
tables ACPI: use macro to replace hard number 2008-11-06 21:51:02 -05:00
utilities
Kconfig ACPI: update debug parameter documentation 2008-11-07 21:45:29 -05:00
Makefile Merge branch 'video' into release 2008-11-11 21:15:50 -05:00
ac.c Merge branch 'sysfs' into release 2008-11-11 21:14:49 -05:00
acpi_memhotplug.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
asus_acpi.c
battery.c ACPI: battery: Convert discharge energy rate to current properly 2008-11-26 17:23:10 -05:00
blacklist.c ACPI: delete OSI(Linux) DMI dmesg spam 2008-11-27 01:55:21 -05:00
bus.c ACPI: turn off all debug output by default 2008-11-07 21:45:16 -05:00
button.c Merge branch 'ec' into release 2008-11-11 21:17:26 -05:00
cm_sbs.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
container.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
debug.c ACPI: add driver component definitions to sysfs debug_layers 2008-11-07 21:45:04 -05:00
dock.c
ec.c ACPI: EC: count interrupts only if called from interrupt handler. 2008-11-26 17:16:45 -05:00
event.c
fan.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
glue.c ACPI: video: Ignore devices that aren't present in hardware 2008-11-07 23:49:23 -05:00
numa.c
osl.c ACPI: delete OSI(Linux) DMI dmesg spam 2008-11-27 01:55:21 -05:00
pci_bind.c
pci_irq.c
pci_link.c ACPI: pci_link: remove acpi_irq_balance_set() interface 2008-11-11 21:12:05 -05:00
pci_root.c ACPI: remove comments about debug layer/level to use 2008-11-06 15:30:19 -05:00
pci_slot.c
power.c Merge branch 'power' into release 2008-11-11 21:14:15 -05:00
processor_core.c Merge branch 'processor-256' into release 2008-11-11 21:17:03 -05:00
processor_idle.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
processor_perflib.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
processor_thermal.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
processor_throttling.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
reboot.c Revert "ACPI: Ingore the RESET_REG_SUP bit when using ACPI reset mechanism" 2008-11-06 20:51:59 -05:00
sbs.c
sbshc.c
sbshc.h
scan.c Revert "ACPI: don't enable control method power button as wakeup device when Fixed Power button is used" 2008-11-26 17:55:15 -05:00
system.c Merge branch 'ec' into release 2008-11-11 21:17:26 -05:00
tables.c
thermal.c Merge branch 'sysfs' into release 2008-11-11 21:14:49 -05:00
toshiba_acpi.c toshiba_acpi: close race in toshiba_acpi driver 2008-11-28 14:21:53 -05:00
utils.c ACPI: scheduling in atomic via acpi_evaluate_integer () 2008-11-26 17:39:06 -05:00
video.c Merge branch 'video' into release 2008-11-11 21:15:50 -05:00
video_detect.c Merge branch 'video' into release 2008-11-11 21:15:50 -05:00
wmi.c ACPI: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-06 21:37:19 -05:00