]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI / sysfs: fix acpi_get_table() leak / acpi-sysfs denial of service
authorDan Williams <dan.j.williams@intel.com>
Tue, 25 Apr 2017 19:58:31 +0000 (12:58 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 26 Apr 2017 22:27:49 +0000 (00:27 +0200)
commitae1b5931a90815247a9addc917e1f57d6b3701fc
treec87c76de72cb5ba4f4d93a3b85f4f39ed5b92eaf
parent3e21a44b5495ce41f885b26c0d60f846f42162b9
ACPI / sysfs: fix acpi_get_table() leak / acpi-sysfs denial of service

Reading an ACPI table through the /sys/firmware/acpi/tables interface
more than 65,536 times leads to the following log message:

 ACPI Error: Table ffff88033595eaa8, Validation count is zero after increment
  (20170119/tbutils-423)

...and the table being unavailable until the next reboot. Add the
missing acpi_put_table() so the table ->validation_count is decremented
after each read.

Reported-by: Anush Seetharaman <anush.seetharaman@intel.com>
Fixes: 5d23aa227e03 "ACPICA: Tables: Back port acpi_get_table_with_size() ..."
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Cc: 4.10+ <stable@vger.kernel.org> # 4.10+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/sysfs.c