]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler()
authorChris Bainbridge <chris.bainbridge@gmail.com>
Tue, 21 Apr 2015 23:25:36 +0000 (00:25 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 22 Apr 2015 02:12:35 +0000 (04:12 +0200)
commited12d6ac00db58263afdcc5cd74c85f047eaa314
treec4f218c8e46dda321d0396bde5cb4e7a26ebd6a7
parent56bbbd0547be5c9b4d228bd08d1d19453fd51beb
ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler()

Use list_for_each_entry_safe for iterating because handler may be freed
in the loop.

BUG: unable to handle kernel NULL pointer dereference at 000000000000002c
IP: [<ffffffff814d69c8>] acpi_ec_put_query_handler+0x7/0x1a
Call Trace:
 acpi_ec_remove_query_handler+0x87/0x97
 acpi_smbus_hc_remove+0x2a/0x44 [sbshc]
 acpi_device_remove+0x7b/0x9a
 __device_release_driver+0x7e/0x110
 driver_detach+0xb0/0xc0
 bus_remove_driver+0x54/0xe0
 driver_unregister+0x2b/0x60
 acpi_bus_unregister_driver+0x10/0x12
 acpi_smb_hc_driver_exit+0x10/0x12 [sbshc]
 SyS_delete_module+0x1b8/0x210
 system_call_fastpath+0x12/0x6a

Signed-off-by: Chris Bainbridge <chris.bainbridge@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/ec.c