From: Miaoqian Lin Date: Tue, 20 Dec 2022 12:18:07 +0000 (+0400) Subject: leds: led-core: Fix refcount leak in of_led_get() X-Git-Tag: v6.1.21~1052 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d880981b82223f9bf128dfdd2424abb0c658f345;p=platform%2Fkernel%2Flinux-starfive.git leds: led-core: Fix refcount leak in of_led_get() [ Upstream commit da1afe8e6099980fe1e2fd7436dca284af9d3f29 ] class_find_device_by_of_node() calls class_find_device(), it will take the reference, use the put_device() to drop the reference when not need anymore. Fixes: 699a8c7c4bd3 ("leds: Add of_led_get() and led_put()") Signed-off-by: Miaoqian Lin Signed-off-by: Lee Jones Link: https://lore.kernel.org/r/20221220121807.1543790-1-linmq006@gmail.com Signed-off-by: Sasha Levin --- diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c index 7391d2c..aa39b2a 100644 --- a/drivers/leds/led-class.c +++ b/drivers/leds/led-class.c @@ -235,6 +235,7 @@ struct led_classdev *of_led_get(struct device_node *np, int index) led_dev = class_find_device_by_of_node(leds_class, led_node); of_node_put(led_node); + put_device(led_dev); if (!led_dev) return ERR_PTR(-EPROBE_DEFER);