From: Oleh Kravchenko Date: Tue, 3 Sep 2019 21:18:19 +0000 (+0300) Subject: led: triggers: Fix dereferencing of null pointer X-Git-Tag: v5.4-rc1~144^2~1 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=4016ba85880b252365d11bc7dc899450f2c73ad7;p=users%2Fwilly%2Flinux.git led: triggers: Fix dereferencing of null pointer Error was detected by PVS-Studio: V522 Dereferencing of the null pointer 'led_cdev->trigger' might take place. Fixes: 2282e125a406 ("leds: triggers: let struct led_trigger::activate() return an error code") Signed-off-by: Oleh Kravchenko Reviewed-by: Uwe Kleine-König Signed-off-by: Jacek Anaszewski --- diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c index eff1bda8b520..23963e5cb5d6 100644 --- a/drivers/leds/led-triggers.c +++ b/drivers/leds/led-triggers.c @@ -167,11 +167,11 @@ err_add_groups: trig->deactivate(led_cdev); err_activate: - led_cdev->trigger = NULL; - led_cdev->trigger_data = NULL; write_lock_irqsave(&led_cdev->trigger->leddev_list_lock, flags); list_del(&led_cdev->trig_list); write_unlock_irqrestore(&led_cdev->trigger->leddev_list_lock, flags); + led_cdev->trigger = NULL; + led_cdev->trigger_data = NULL; led_set_brightness(led_cdev, LED_OFF); kfree(event);