From: Colin Ian King Date: Mon, 25 Mar 2013 10:50:05 +0000 (+0000) Subject: ACPI / fan: avoid null pointer deference error X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=f0c29583db51104a7bc223b1e9c88d818f24ba4d;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git ACPI / fan: avoid null pointer deference error Fix a null pointer deference by acpi_driver_data() if device is null. We should only set cdev and check this is OK after we are sure device is not null. Smatch analysis: drivers/acpi/fan.c:179 acpi_fan_remove() warn: variable dereferenced before check 'device' (see line 177) Signed-off-by: Colin Ian King Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/acpi/fan.c b/drivers/acpi/fan.c index f815da82c765..8d1c0105e113 100644 --- a/drivers/acpi/fan.c +++ b/drivers/acpi/fan.c @@ -174,9 +174,13 @@ static int acpi_fan_add(struct acpi_device *device) static int acpi_fan_remove(struct acpi_device *device) { - struct thermal_cooling_device *cdev = acpi_driver_data(device); + struct thermal_cooling_device *cdev; + + if (!device) + return -EINVAL; - if (!device || !cdev) + cdev = acpi_driver_data(device); + if (!cdev) return -EINVAL; sysfs_remove_link(&device->dev.kobj, "thermal_cooling");