linux/drivers/leds/flash
Javier Carrasco 4a44bcb73a leds: flash: mt6360: Fix device_for_each_child_node() refcounting in error paths
commit 73b03b2773 upstream.

The device_for_each_child_node() macro requires explicit calls to
fwnode_handle_put() upon early exits to avoid memory leaks, and in
this case the error paths are handled after jumping to
'out_flash_realease', which misses that required call to
to decrement the refcount of the child node.

A more elegant and robust solution is using the scoped variant of the
loop, which automatically handles such early exits.

Fix the child node refcounting in the error paths by using
device_for_each_child_node_scoped().

Cc: stable@vger.kernel.org
Fixes: 679f865206 ("leds: Add mt6360 driver")
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Link: https://lore.kernel.org/r/20240927-leds_device_for_each_child_node_scoped-v1-1-95c0614b38c8@gmail.com
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-12-09 10:33:08 +01:00
..
Kconfig leds: flash: leds-qcom-flash: Declare the driver as a module 2023-07-28 12:17:23 +01:00
leds-aat1290.c leds: Replace all non-returning strlcpy with strscpy 2023-05-25 12:31:55 +01:00
leds-as3645a.c leds: as3645a: Replace strlcpy with strscpy 2023-05-25 12:44:25 +01:00
leds-ktd2692.c leds: ktd2692: Make aux-gpios optional 2022-05-07 23:12:19 +02:00
leds-lm3601x.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-max77693.c leds: max77693: Move driver to flash subdirectory 2021-07-12 10:30:05 +02:00
leds-mt6360.c leds: flash: mt6360: Fix device_for_each_child_node() refcounting in error paths 2024-12-09 10:33:08 +01:00
leds-mt6370-flash.c leds: flash: mt6370: Add MediaTek MT6370 flashlight support 2023-03-23 14:54:08 +00:00
leds-qcom-flash.c leds: flash: leds-qcom-flash: Test the correct variable in init 2024-08-03 08:53:54 +02:00
leds-rt4505.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-rt8515.c leds: rt8515: Put fwnode in any case during ->probe() 2021-08-03 23:49:37 +02:00
leds-sgm3140.c leds: sgm3140: Add missing timer cleanup and flash gpio control 2024-03-26 18:19:55 -04:00
Makefile leds: flash: mt6370: Add MediaTek MT6370 flashlight support 2023-03-23 14:54:08 +00:00