]> git.ipfire.org Git - thirdparty/linux.git/commit
ACPICA: Abort AML bytecode execution when executing AML_FATAL_OP
authorArmin Wolf <W_Armin@gmx.de>
Wed, 14 Jan 2026 12:25:33 +0000 (13:25 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 15 Jan 2026 17:17:48 +0000 (18:17 +0100)
commit026ad376a6a48538b576f3589331daa94daae6f0
tree06a919c67eee591c9469c7c8d4d5ccc2eded64a5
parent30c2a333aa90c4265bed7629980eb0df72f56dfb
ACPICA: Abort AML bytecode execution when executing AML_FATAL_OP

The ACPI specification states that when executing AML_FATAL_OP,
the OS should log the fatal error event and shutdown in a timely
fashion.

Windows complies with this requirement by immediatly entering a
Bso_d, effectively aborting the execution of the AML bytecode in
question.

ACPICA however might continue with the AML bytecode execution
should acpi_os_signal() simply return AE_OK. This will cause issues
because ACPI BIOS implementations might assume that the Fatal()
operator does not return.

Fix this by aborting the AML bytecode execution in such a case
by returning AE_ERROR. Also turn struct acpi_signal_fatal_info into a
local variable because of its small size (12 bytes) and to ensure
that acpi_os_signal() always receives valid information about the
fatal ACPI BIOS error.

Link: https://github.com/acpica/acpica/commit/d516c7758ba6
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/3325491.5fSG56mABF@rafael.j.wysocki
drivers/acpi/acpica/exoparg3.c