[PATCH 2/2] gpiolib: acpi: Fix resource leak in OpRegion cleanup path
From: Marco Scardovi (scardracs)
Date: Tue May 19 2026 - 03:05:51 EST
If acpi_remove_address_space_handler() fails, the cleanup function
acpi_gpiochip_free_regions() previously returned early. This leaks
the connections list and all requested GPIO descriptors.
Remove the early return statement so that connection cleanup and freeing
of descriptors are always executed, preventing memory leaks in teardown
failure paths.
Assisted-by: Antigravity:gemini-3-flash
Signed-off-by: Marco Scardovi <mscardovi95@xxxxxxxxx>
---
drivers/gpio/gpiolib-acpi-core.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/gpio/gpiolib-acpi-core.c b/drivers/gpio/gpiolib-acpi-core.c
index d381631ba6f0..b6f2af23b204 100644
--- a/drivers/gpio/gpiolib-acpi-core.c
+++ b/drivers/gpio/gpiolib-acpi-core.c
@@ -1239,7 +1239,6 @@ static void acpi_gpiochip_free_regions(struct acpi_gpio_chip *achip)
if (ACPI_FAILURE(status)) {
dev_err(chip->parent,
"Failed to remove GPIO OpRegion handler\n");
- return;
}
list_for_each_entry_safe_reverse(conn, tmp, &achip->conns, node) {
--
2.54.0