]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hwmon: (acpi_power_meter) Check ACPI_COMPANION() against NULL
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 11 May 2026 19:54:51 +0000 (21:54 +0200)
committerGuenter Roeck <linux@roeck-us.net>
Tue, 12 May 2026 18:32:25 +0000 (11:32 -0700)
Every platform driver can be forced to match a device that doesn't match
its list of device IDs because of device_match_driver_override(), so
platform drivers that rely on the existence of a device's ACPI companion
object need to verify its presence.

Accordingly, add a requisite ACPI_COMPANION() check against NULL to the
acpi_power_meter hwmon driver.

Fixes: afc6c4aedea5 ("hwmon: (acpi_power_meter) Convert ACPI driver to a platform one")
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://lore.kernel.org/r/5068745.GXAFRqVoOG@rafael.j.wysocki
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/acpi_power_meter.c

index be7f702dcde9c0a427f628349d1a281ed9bee3d5..0c9b9f4180fb770031939db55013736ccfdcff37 100644 (file)
@@ -884,10 +884,14 @@ static void acpi_power_meter_notify(acpi_handle handle, u32 event, void *data)
 
 static int acpi_power_meter_probe(struct platform_device *pdev)
 {
-       struct acpi_device *device = ACPI_COMPANION(&pdev->dev);
        struct acpi_power_meter_resource *resource;
+       struct acpi_device *device;
        int res;
 
+       device = ACPI_COMPANION(&pdev->dev);
+       if (!device)
+               return -ENODEV;
+
        resource = kzalloc_obj(*resource);
        if (!resource)
                return -ENOMEM;