[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200925225905.GA11731@agrajag.zerfleddert.de>
Date: Sat, 26 Sep 2020 00:59:05 +0200
From: Tobias Jordan <kernel@...e.de>
To: linux-leds@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: Pavel Machek <pavel@....cz>, Dan Murphy <dmurphy@...com>,
Jacek Anaszewski <jacek.anaszewski@...il.com>
Subject: [PATCH] leds: lp55xx: fix device node iterator memory leaks
Fix error paths in for_each_child_of_node loops that were missing an
of_node_put call.
Fixes: 92a81562e695 ("leds: lp55xx: Add multicolor framework support to
lp55xx")
Signed-off-by: Tobias Jordan <kernel@...e.de>
---
drivers/leds/leds-lp55xx-common.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/leds/leds-lp55xx-common.c b/drivers/leds/leds-lp55xx-common.c
index 56210f4ad919..f8b55cfd21ef 100644
--- a/drivers/leds/leds-lp55xx-common.c
+++ b/drivers/leds/leds-lp55xx-common.c
@@ -614,8 +614,10 @@ static int lp55xx_parse_multi_led(struct device_node *np,
for_each_child_of_node(np, child) {
ret = lp55xx_parse_multi_led_child(child, cfg, child_number,
num_colors);
- if (ret)
+ if (ret) {
+ of_node_put(child);
return ret;
+ }
num_colors++;
}
@@ -681,8 +683,10 @@ struct lp55xx_platform_data *lp55xx_of_populate_pdata(struct device *dev,
for_each_child_of_node(np, child) {
ret = lp55xx_parse_logical_led(child, cfg, i);
- if (ret)
+ if (ret) {
+ of_node_put(child);
return ERR_PTR(-EINVAL);
+ }
i++;
}
--
2.20.1
Powered by blists - more mailing lists