aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/processor_idle.c
diff options
context:
space:
mode:
authorLi Zhong <floridsleeves@gmail.com>2022-09-02 00:37:30 -0700
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2022-10-28 19:01:54 +0200
commit2437513a814b3e93bd02879740a8a06e52e2cf7d (patch)
tree11afd5c514c02225da6646497b10f352ba551962 /drivers/acpi/processor_idle.c
parent247f34f7b80357943234f93f247a1ae6b6c3a740 (diff)
downloadlinux-2437513a814b3e93bd02879740a8a06e52e2cf7d.tar.gz
ACPI: processor: idle: Check acpi_fetch_acpi_dev() return value
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>
Diffstat (limited to 'drivers/acpi/processor_idle.c')
-rw-r--r--drivers/acpi/processor_idle.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index acfabfe07c4fa5..fc5b5b2c9e8194 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -1134,6 +1134,9 @@ static int acpi_processor_get_lpi_info(struct acpi_processor *pr)
status = acpi_get_parent(handle, &pr_ahandle);
while (ACPI_SUCCESS(status)) {
d = acpi_fetch_acpi_dev(pr_ahandle);
+ if (!d)
+ break;
+
handle = pr_ahandle;
if (strcmp(acpi_device_hid(d), ACPI_PROCESSOR_CONTAINER_HID))