ACPI / PCI: Fix memory leak in acpi_pci_irq_enable()
authorTomasz Nowicki <tomasz.nowicki@linaro.org>
Mon, 10 Feb 2014 13:00:11 +0000 (14:00 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Mar 2014 05:30:09 +0000 (21:30 -0800)
commit b685f3b1744061aa9ad822548ba9c674de5be7c6 upstream.

acpi_pci_link_allocate_irq() can return negative gsi even if
entry != NULL.  For that case we have a memory leak, so free
entry before returning from acpi_pci_irq_enable() for gsi < 0.

Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
[rjw: Subject and changelog]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/acpi/pci_irq.c

index 41c5e1b799ef938ff1eed92e4cf48a7c7677f8bd..f658e0948703c6c845ba7acb6b39579c7db0c882 100644 (file)
@@ -432,6 +432,7 @@ int acpi_pci_irq_enable(struct pci_dev *dev)
                                 pin_name(pin));
                }
 
+               kfree(entry);
                return 0;
        }