Blob Blame History Raw
From: Wenwen Wang <wenwen@cs.uga.edu>
Date: Mon, 19 Aug 2019 15:41:42 -0500
Subject: led: triggers: Fix a memory leak bug
Git-commit: 60e2dde1e91ae0addb21ac380cc36ebee7534e49
Patch-mainline: 5.4-rc1
References: bnc#1151927 5.3.4

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 <wenwen@cs.uga.edu>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/leds/led-triggers.c |    1 +
 1 file changed, 1 insertion(+)

--- 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;
 }