leds: led-core: Fix refcount leak in of_led_get()
authorMiaoqian Lin <linmq006@gmail.com>
Tue, 20 Dec 2022 12:18:07 +0000 (16:18 +0400)
committerLee Jones <lee@kernel.org>
Mon, 30 Jan 2023 08:03:13 +0000 (08:03 +0000)
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 <linmq006@gmail.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20221220121807.1543790-1-linmq006@gmail.com
drivers/leds/led-class.c

index 0c4b8d8..a6b3adc 100644 (file)
@@ -253,6 +253,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);
 
        return led_module_get(led_dev);
 }