[SRU][N][PATCH v2 16/20] UBUNTU: SAUCE: gpio: aggregator: Fix leak in gpio_aggregator_parse()

Koichiro Den koichiro.den at canonical.com
Tue Apr 15 06:14:02 UTC 2025


From: Dan Carpenter <dan.carpenter at linaro.org>

BugLink: https://bugs.launchpad.net/bugs/2103496

Call gpio_aggregator_free_lines() before returning on this error path.

Fixes: 83c8e3df642f ("gpio: aggregator: expose aggregator created via legacy sysfs to configfs")
Signed-off-by: Dan Carpenter <dan.carpenter at linaro.org>
Acked-by: Koichiro Den <koichiro.den at canonical.com>
Link: https://lore.kernel.org/r/e023bfe52509ce1bef6209ec7c47e99279c551dd.1744452787.git.dan.carpenter@linaro.org
Signed-off-by: Bartosz Golaszewski <brgl at bgdev.pl>
(cherry picked from commit d945ff52642d98eb6fa191f88a9cfde729129395 gpio/for-next)
Signed-off-by: Koichiro Den <koichiro.den at canonical.com>
---
 drivers/gpio/gpio-aggregator.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpio/gpio-aggregator.c b/drivers/gpio/gpio-aggregator.c
index 03e0011b3836..7a15432d0bef 100644
--- a/drivers/gpio/gpio-aggregator.c
+++ b/drivers/gpio/gpio-aggregator.c
@@ -1087,7 +1087,7 @@ static int gpio_aggregator_parse(struct gpio_aggregator *aggr)
 		error = bitmap_parselist(offsets, bitmap, AGGREGATOR_MAX_GPIOS);
 		if (error) {
 			pr_err("Cannot parse %s: %d\n", offsets, error);
-			return error;
+			goto err;
 		}
 
 		for_each_set_bit(i, bitmap, AGGREGATOR_MAX_GPIOS) {
-- 
2.45.2




More information about the kernel-team mailing list