We leak the NVS and arch resources (if used), in apei_resources_request.
They are allocated to make sure we exclude them from the APEI resources,
but they are never freed at the end of the function. Free them now.

Signed-off-by: Josh Hunt <joh...@akamai.com>

diff --git a/drivers/acpi/apei/apei-base.c b/drivers/acpi/apei/apei-base.c
index a2c8d7a..1ac449b 100644
--- a/drivers/acpi/apei/apei-base.c
+++ b/drivers/acpi/apei/apei-base.c
@@ -536,6 +536,11 @@ int apei_resources_request(struct apei_resources 
*resources,
                goto err_unmap_ioport;
        }
 
+       /* Cleanup unmerged resources */
+       if (arch_apei_filter_addr)
+               apei_resources_fini(&arch_res);
+       apei_resources_fini(&nvs_resources);
+
        return 0;
 err_unmap_ioport:
        list_for_each_entry(res, &resources->ioport, list) {
-- 
1.7.9.5

Reply via email to