OSDN Git Service

ACPICA: Tables: Add sanity check in acpi_put_table()
authorLv Zheng <lv.zheng@intel.com>
Mon, 10 Jul 2017 07:23:21 +0000 (15:23 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 20 Jul 2017 14:38:24 +0000 (16:38 +0200)
ACPICA commit 73512384c9eb1e7f1b28d0a7372df26a3732f96b

To avoid caller to trigger unexpected warning messages (Link #1):
  ACPI Warning: Table ffffffffbb461d20, Validation count is zero before decrement
Which is reported from acpi_tb_put_table(). When the table is validated, the
pointer must be non-zero. Thus the message is not suitable for invalidated
tables. This patch fixes the callee side based on this fact. Reported by
Cristian Aravena Romero, Fixed by Lv Zheng.

Link: https://github.com/acpica/acpica/commit/73512384
Link: https://bugzilla.kernel.org/show_bug.cgi?id=191221
Reported-by: Cristian Aravena Romero <caravena@gmail.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/tbxface.c

index 010b1c4..18508b2 100644 (file)
@@ -369,6 +369,10 @@ void acpi_put_table(struct acpi_table_header *table)
 
        ACPI_FUNCTION_TRACE(acpi_put_table);
 
+       if (!table) {
+               return_VOID;
+       }
+
        (void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES);
 
        /* Walk the root table list */