]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ACPI: processor: idle: Check acpi_fetch_acpi_dev() return value
authorLi Zhong <floridsleeves@gmail.com>
Fri, 2 Sep 2022 07:37:30 +0000 (00:37 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Aug 2025 14:24:33 +0000 (16:24 +0200)
commit 2437513a814b3e93bd02879740a8a06e52e2cf7d upstream.

The return value of acpi_fetch_acpi_dev() could be NULL, which would
cause a NULL pointer dereference to occur in acpi_device_hid().

Signed-off-by: Li Zhong <floridsleeves@gmail.com>
[ rjw: Subject and changelog edits, added empty line after if () ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
Signed-off-by: Yann Sionneau <yann.sionneau@vates.tech>
Reported-by: Dillon C <dchan@dchan.tech>
Tested-by: Dillon C <dchan@dchan.tech>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/acpi/processor_idle.c

index 469a2e5eb6e8cb6d3a8dbb2a74a76b86115bef8f..74459ac13f4bc178715fa2e15199a8b95a1ec6be 100644 (file)
@@ -1125,7 +1125,9 @@ static int acpi_processor_get_lpi_info(struct acpi_processor *pr)
 
        status = acpi_get_parent(handle, &pr_ahandle);
        while (ACPI_SUCCESS(status)) {
-               acpi_bus_get_device(pr_ahandle, &d);
+               if (acpi_bus_get_device(pr_ahandle, &d))
+                       break;
+
                handle = pr_ahandle;
 
                if (strcmp(acpi_device_hid(d), ACPI_PROCESSOR_CONTAINER_HID))