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