Commit 4e6cbe56 authored by Alex James's avatar Alex James Committed by Rafael J. Wysocki

ACPICA: iASL: Ensure that the target node is valid in acpi_ex_create_alias

ACPICA commit 8b14afac65d983610cc5387ede6d85ea5ee075be

The following ACPI table contains an invalid target node within the
Alias operator:

definition_block ("", "SSDT", 1, "Bug", "BugTable", 0x00001000)
{
    Scope (_SB)
    {
        Device (DEV0)
        {
            Name (_ADR, 1)

            Device (DEV1)
            {
                Alias (_ADR, _ADR)
            }
        }
    }
}

If an ACPI table contains such an invalid target node in an Alias
operator, a segmentation fault will occur when the target node is
dereferenced within acpi_ex_create_alias. Add a check for such an invalid
target node in acpi_ex_create_alias and return AE_NULL_OBJECT as suggested
by @acpibob.

Link: https://github.com/acpica/acpica/commit/8b14afacSigned-off-by: default avatarAlex James <theracermaster@gmail.com>
Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 19df56bd
......@@ -87,6 +87,11 @@ acpi_status acpi_ex_create_alias(struct acpi_walk_state *walk_state)
target_node->object);
}
/* Ensure that the target node is valid */
if (!target_node) {
return_ACPI_STATUS(AE_NULL_OBJECT);
}
/*
* For objects that can never change (i.e., the NS node will
* permanently point to the same object), we can simply attach
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment