ACPICA: Avoid walking the ACPI Namespace if it is not there
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 7 Mar 2022 19:28:26 +0000 (20:28 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 7 Mar 2022 19:28:26 +0000 (20:28 +0100)
ACPICA commit b1c3656ef4950098e530be68d4b589584f06cddc

Prevent acpi_ns_walk_namespace() from crashing when called with
start_node equal to ACPI_ROOT_OBJECT if the Namespace has not been
instantiated yet and acpi_gbl_root_node is NULL.

For instance, this can happen if the kernel is run with "acpi=off"
in the command line.

Link: https://github.com/acpica/acpica/commit/b1c3656ef4950098e530be68d4b589584f06cddc
Link: https://lore.kernel.org/linux-acpi/CAJZ5v0hJWW_vZ3wwajE7xT38aWjY7cZyvqMJpXHzUL98-SiCVQ@mail.gmail.com/
Reported-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/nswalk.c

index 915c243..e7c30ce 100644 (file)
@@ -169,6 +169,9 @@ acpi_ns_walk_namespace(acpi_object_type type,
 
        if (start_node == ACPI_ROOT_OBJECT) {
                start_node = acpi_gbl_root_node;
+               if (!start_node) {
+                       return_ACPI_STATUS(AE_NO_NAMESPACE);
+               }
        }
 
        /* Null child means "get first node" */