]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
hwmon: (gpio-fan) Fix null pointer dereference at probe
authorMiquel Raynal <miquel.raynal@free-electrons.com>
Mon, 16 Oct 2017 12:12:10 +0000 (14:12 +0200)
committerGuenter Roeck <linux@roeck-us.net>
Mon, 30 Oct 2017 01:36:03 +0000 (18:36 -0700)
A previous commit changed the argument list of gpio_fan_get_of_data(),
removing the "struct *dev" argument and retrieving it instead from the
gpio_fan_data structure. The "dev" entry of gpio_fan_data was then
dereferenced to access the of_node field, leading to a kernel panic
during the probe as the "dev" entry of the gpio_fan_data structure was
not filled yet.

Fix this by setting fan_data->dev before calling gpio_fan_get_of_data().

Fixes: 5859d8d30737 ("hwmon: (gpio-fan) Get rid of platform data struct")
Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/gpio-fan.c

index 43b697380987966cdd92cf9ddcf156f0a8fcb11d..5c9a52599cf68ff8d7dcb181ac3cfdc162ea3d1b 100644 (file)
@@ -510,11 +510,11 @@ static int gpio_fan_probe(struct platform_device *pdev)
        if (!fan_data)
                return -ENOMEM;
 
+       fan_data->dev = dev;
        err = gpio_fan_get_of_data(fan_data);
        if (err)
                return err;
 
-       fan_data->dev = dev;
        platform_set_drvdata(pdev, fan_data);
        mutex_init(&fan_data->lock);