linux/drivers/platform/x86
Li Dongyang 00d39597e8 thinkpad_acpi: Free hotkey_keycode_map after unregistering tpacpi_inputdev
We should free hotkey_keycode_map after unregistering tpacpi_inputdev, to aviod
use after free like this:

[   99.408388] =============================================================================
[   99.408393] BUG kmalloc-64 (Not tainted): Poison overwritten
[   99.408394] -----------------------------------------------------------------------------
[   99.408394]
[   99.408398] INFO: 0xf2751962-0xf2751995. First byte 0x98 instead of 0x6b
[   99.408402] INFO: Allocated in 0xfdc88c28 age=79 cpu=0 pid=1329
[   99.408407]  __slab_alloc.isra.50.constprop.56+0x49f/0x533
[   99.408410]  kmem_cache_alloc_trace+0x10d/0x140
[   99.408412]  0xfdc88c28
[   99.408414]  0xfdc898cc
[   99.408417]  do_one_initcall+0x112/0x160
[   99.408420]  sys_init_module+0xe6d/0x1bc0
[   99.408422]  sysenter_do_call+0x12/0x28
[   99.408427] INFO: Freed in hotkey_exit+0x50/0xb0 [thinkpad_acpi] age=14 cpu=1 pid=1333
[   99.408429]  __slab_free+0x3d/0x30b
[   99.408431]  kfree+0x129/0x140
[   99.408435]  hotkey_exit+0x50/0xb0 [thinkpad_acpi]
[   99.408438]  ibm_exit+0xe3/0x1a0 [thinkpad_acpi]
[   99.408441]  thinkpad_acpi_module_exit+0x35/0x208 [thinkpad_acpi]
[   99.408443]  sys_delete_module+0x11f/0x280
[   99.408445]  sysenter_do_call+0x12/0x28
[   99.408447] INFO: Slab 0xf4d5ea20 objects=17 used=17 fp=0x  (null) flags=0x40000080
[   99.408449] INFO: Object 0xf2751960 @offset=2400 fp=0xf2751780
[   99.408449]
[   99.408452] Bytes b4 f2751950: 64 02 00 00 ae ce fe ff 5a 5a 5a 5a 5a 5a 5a 5a  d.......ZZZZZZZZ
[   99.408454] Object f2751960: 6b 6b 98 00 ec 00 8e 00 ee 00 6b 6b e3 00 bf 00 kk........kk....
[   99.408456] Object f2751970: c2 00 6b 6b 6b 6b cd 00 6b 6b 6b 6b 6b 6b e1 00 ..kkkk..kkkkkk..
[   99.408458] Object f2751980: e0 00 e4 00 6b 6b 74 01 73 00 72 00 71 00 94 00 ....kkt.s.r.q...
[   99.408460] Object f2751990: 6b 6b 6b 6b f8 00 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkk..kkkkkkkkk.
[   99.408462] Redzone f27519a0: bb bb bb bb ....

Signed-off-by: Li Dongyang <Jerry87905@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
2012-07-28 00:28:57 -04:00
..
acer-wmi.c ACER: Fix Smatch double-free issue 2012-07-28 00:28:55 -04:00
acerhdf.c drivers/platform/x86/acerhdf.c: correct Boris' mail address 2012-06-07 14:43:55 -07:00
amilo-rfkill.c drivers/platform/x86/amilo-rfkill.c::amilo_rfkill_probe() avoid NULL deref 2012-03-26 15:45:32 -04:00
apple-gmux.c drivers-platform-x86: use acpi_video_dmi_promote_vendor() 2012-07-28 00:11:48 -04:00
asus-laptop.c asus-laptop: add some keys found on Lenovo SL500 2012-03-20 12:02:18 -04:00
asus-nb-wmi.c asus-nb-wmi: add some video toggle keys 2012-07-28 00:28:54 -04:00
asus-wmi.c asus-wmi: enable resume on lid open 2012-07-28 00:11:49 -04:00
asus-wmi.h asus-wmi: control backlight power through WMI, not ACPI 2012-07-28 00:11:49 -04:00
classmate-laptop.c classmate-laptop: Fix extra keys hardware id. 2012-07-28 00:28:53 -04:00
compal-laptop.c compal-laptop: switch to using use MODULE_DEVICE_TABLE 2012-03-20 12:02:01 -04:00
dell-laptop.c dell-laptop: Add 6 machines to touchpad led quirk 2012-07-28 00:28:55 -04:00
dell-wmi-aio.c
dell-wmi.c
eeepc-laptop.c Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 2012-03-28 14:20:23 -07:00
eeepc-wmi.c asus-wmi: control backlight power through WMI, not ACPI 2012-07-28 00:11:49 -04:00
fujitsu-laptop.c Email/web address change 2012-03-28 10:35:15 +02:00
fujitsu-tablet.c fujitsu-tablet: Use struct dev_pm_ops for power management 2012-07-01 13:31:05 +02:00
hdaps.c hdaps: Use struct dev_pm_ops for power management 2012-07-03 18:34:27 +02:00
hp_accel.c hp_accel: Use struct dev_pm_ops for power management 2012-07-01 13:31:02 +02:00
hp-wmi.c hp-wmi: check for allocation failures 2012-05-31 14:29:33 -04:00
ibm_rtl.c asm-generic: architecture independent readq/writeq for 32bit environment 2012-02-21 16:47:28 -08:00
ideapad-laptop.c ideapad: uninitialized data in ideapad_acpi_add() 2012-06-26 14:43:45 -04:00
intel_ips.c Power management updates for 3.6 2012-07-22 13:36:52 -07:00
intel_ips.h
intel_menlow.c switch sysfs attr->mode to umode_t 2012-01-03 22:54:55 -05:00
intel_mid_powerbtn.c intel_mid_powerbtn: mark irq as IRQF_NO_SUSPEND 2012-05-04 14:40:52 -07:00
intel_mid_thermal.c intel_mid_thermal: Use struct dev_pm_ops for power management 2012-07-01 13:31:14 +02:00
intel_oaktrail.c intel-oaktrail: switch to using use MODULE_DEVICE_TABLE 2012-03-20 12:02:02 -04:00
intel_pmic_gpio.c
intel_scu_ipc.c intel_scu_ipc: Remove Moorestown support 2012-03-20 12:02:02 -04:00
intel_scu_ipcutil.c intel_scu_ipc: Remove Moorestown support 2012-03-20 12:02:02 -04:00
Kconfig acer-wmi: add quirk table for video backlight vendor mode 2012-03-26 15:47:58 -04:00
Makefile platform/x86: Add driver for Apple gmux device 2012-03-26 15:05:25 -04:00
msi-laptop.c msi-laptop: Use struct dev_pm_ops for power management 2012-07-06 19:06:19 +02:00
msi-wmi.c x86: fix up files really needing to include module.h 2011-10-31 19:30:36 -04:00
mxm-wmi.c
panasonic-laptop.c panasonic-laptop: Use struct dev_pm_ops for power management 2012-07-01 13:31:04 +02:00
samsung-laptop.c samsung-laptop: support R40/R41 2012-07-28 00:11:48 -04:00
samsung-q10.c
sony-laptop.c Power management updates for 3.6 2012-07-22 13:36:52 -07:00
tc1100-wmi.c
thinkpad_acpi.c thinkpad_acpi: Free hotkey_keycode_map after unregistering tpacpi_inputdev 2012-07-28 00:28:57 -04:00
topstar-laptop.c topstar-latop: ignore 0x82 event 2011-10-24 16:52:37 +02:00
toshiba_acpi.c toshiba_acpi: Use struct dev_pm_ops for power management 2012-07-01 13:31:02 +02:00
toshiba_bluetooth.c toshiba_bluetooth: Use struct dev_pm_ops for power management 2012-07-01 13:31:04 +02:00
wmi.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
xo1-rfkill.c xo1-rfkill: only act when blocked state is changed 2012-05-31 14:23:39 -04:00
xo15-ebook.c xo15-ebook: Use struct dev_pm_ops for power management 2012-07-01 13:31:05 +02:00