OSDN Git Service

ACPICA: iASL: Ensure that the target node is valid in acpi_ex_create_alias
authorAlex James <theracermaster@gmail.com>
Mon, 10 Jul 2017 07:24:02 +0000 (15:24 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 20 Jul 2017 14:38:26 +0000 (16:38 +0200)
commit4e6cbe5689a5af8435bebc57b77d7dd4420b4134
tree8a34c0eba53caedc961f1c13ae51c8c7ce9a6291
parent19df56bdf0833a8ad9dfe056931696b9e0e30463
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/8b14afac
Signed-off-by: Alex James <theracermaster@gmail.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/excreate.c