summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2017-06-05 04:40:26 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2017-06-12 08:58:42 -0400
commitdba744cd941b4eeb153a34877c62293903382751 (patch)
tree130c7dc3f0f198def07611fd9bbd9fee969c5858
parent2cb8c3bbfbd78bf616bef8af2ba6214ca3679ebe (diff)
ACPICA: Dispatcher: Remove unnecessary call to debugger
ACPICA commit eaa455accf165fee2df26410e271aab162264f6c UBSAN reports an index out of range use in dsutils.c. acpi_db_display_argument_object( walk_state->operands[walk_state->num_operands - 1], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ walk_state); This call was simply wrong, generated redundant debugger messages, and resulted in a -1 index into the operand stack. Linux kernel bug #120351 (link #1) and #194845 (link #2). Originally fixed by Navin P.S. (link #1, comment 8), refined by Lv Zheng (link #3). Link: https://bugzilla.kernel.org/show_bug.cgi?id=120351 [#1] Link: https://bugzilla.kernel.org/show_bug.cgi?id=194845 [#2] Link: https://github.com/acpica/acpica/pull/245 [#3] Link: https://github.com/acpica/acpica/commit/eaa455ac Reported-by: Wilfried Klaebe <linux-kernel@lebenslange-mailadresse.de> Reported-by: Ronald Warsow <rwarsow@gmx.de> Original-by: Navin P.S. <navinp1912@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>
-rw-r--r--drivers/acpi/acpica/dsutils.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/drivers/acpi/acpica/dsutils.c b/drivers/acpi/acpica/dsutils.c
index 406edec20de7..0dabd9b95684 100644
--- a/drivers/acpi/acpica/dsutils.c
+++ b/drivers/acpi/acpica/dsutils.c
@@ -633,15 +633,6 @@ acpi_ds_create_operand(struct acpi_walk_state *walk_state,
633 633
634 if ((op_info->flags & AML_HAS_RETVAL) || 634 if ((op_info->flags & AML_HAS_RETVAL) ||
635 (arg->common.flags & ACPI_PARSEOP_IN_STACK)) { 635 (arg->common.flags & ACPI_PARSEOP_IN_STACK)) {
636 ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
637 "Argument previously created, already stacked\n"));
638
639 acpi_db_display_argument_object(walk_state->
640 operands[walk_state->
641 num_operands -
642 1],
643 walk_state);
644
645 /* 636 /*
646 * Use value that was already previously returned 637 * Use value that was already previously returned
647 * by the evaluation of this argument 638 * by the evaluation of this argument