int340x_thermal/processor_thermal_device: return failure when
authorZhang Rui <rui.zhang@intel.com>
Sun, 4 Jan 2015 08:35:59 +0000 (16:35 +0800)
committerZhang Rui <rui.zhang@intel.com>
Tue, 6 Jan 2015 00:18:21 +0000 (08:18 +0800)
 there is no ACPI device object

processor_thermal_device driver needs ACPI support to work. Thus, the driver
probing should fail when there is no ACPI device object asscociated.

This fixes a NULL pointer dereference when the driver is loaded
with INT340X feature disabled in BIOS.

Reported-by: Chen Yu <yu.c.chen@intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Tested-by: Chen Yu <yu.c.chen@intel.com>
drivers/thermal/int340x_thermal/processor_thermal_device.c

index 31bb553..0fe5dbb 100644 (file)
@@ -130,6 +130,8 @@ static int proc_thermal_add(struct device *dev,
        int ret;
 
        adev = ACPI_COMPANION(dev);
+       if (!adev)
+               return -ENODEV;
 
        status = acpi_evaluate_object(adev->handle, "PPCC", NULL, &buf);
        if (ACPI_FAILURE(status))