PCI: Free released resource after coalescing
authorRoss Lagerwall <ross.lagerwall@citrix.com>
Wed, 6 Sep 2023 11:08:46 +0000 (12:08 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 6 Sep 2023 17:19:29 +0000 (12:19 -0500)
release_resource() doesn't actually free the resource or resource list
entry so free the resource list entry to avoid a leak.

Closes: https://lore.kernel.org/r/878r9sga1t.fsf@kernel.org/
Fixes: e54223275ba1 ("PCI: Release resource invalidated by coalescing")
Link: https://lore.kernel.org/r/20230906110846.225369-1-ross.lagerwall@citrix.com
Reported-by: Kalle Valo <kvalo@kernel.org>
Tested-by: Kalle Valo <kvalo@kernel.org>
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: stable@vger.kernel.org # v5.16+
drivers/pci/probe.c

index ab2a4a3a4c06e31b833ff309e3068eaa67a247a4..795534589b98503c75055b2a09df889057532d38 100644 (file)
@@ -997,6 +997,7 @@ static int pci_register_host_bridge(struct pci_host_bridge *bridge)
                res = window->res;
                if (!res->flags && !res->start && !res->end) {
                        release_resource(res);
+                       resource_list_destroy_entry(window);
                        continue;
                }