From: Wenwen Wang Date: Mon, 19 Aug 2019 20:41:42 +0000 (-0500) Subject: led: triggers: Fix a memory leak bug X-Git-Tag: v5.2.19~193 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=fd3a27888511038c7b1e99a6bd15e4b9f2eb2105;p=users%2Fdwmw2%2Flinux.git led: triggers: Fix a memory leak bug [ Upstream commit 60e2dde1e91ae0addb21ac380cc36ebee7534e49 ] In led_trigger_set(), 'event' is allocated in kasprintf(). However, it is not deallocated in the following execution if the label 'err_activate' or 'err_add_groups' is entered, leading to memory leaks. To fix this issue, free 'event' before returning the error. Fixes: 52c47742f79d ("leds: triggers: send uevent when changing triggers") Signed-off-by: Wenwen Wang Acked-by: Pavel Machek Signed-off-by: Jacek Anaszewski Signed-off-by: Sasha Levin --- diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c index 8d11a5e232271..eff1bda8b5200 100644 --- a/drivers/leds/led-triggers.c +++ b/drivers/leds/led-triggers.c @@ -173,6 +173,7 @@ err_activate: list_del(&led_cdev->trig_list); write_unlock_irqrestore(&led_cdev->trigger->leddev_list_lock, flags); led_set_brightness(led_cdev, LED_OFF); + kfree(event); return ret; }