From: Rafael J. Wysocki Date: Tue, 18 Oct 2022 17:34:03 +0000 (+0200) Subject: ACPI: PCI: Fix device reference counting in acpi_get_pci_dev() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=eb1d39260ee6477e2971f81cec18ba5f6583259d;p=linux.git ACPI: PCI: Fix device reference counting in acpi_get_pci_dev() Commit 63f534b8bad9 ("ACPI: PCI: Rework acpi_get_pci_dev()") failed to reference count the device returned by acpi_get_pci_dev() as expected by its callers which in some cases may cause device objects to be dropped prematurely. Add the missing get_device() to acpi_get_pci_dev(). Fixes: 63f534b8bad9 ("ACPI: PCI: Rework acpi_get_pci_dev()") Reported-by: Ville Syrjälä Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c index c8385ef54c370..4e3db20e9cbb9 100644 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c @@ -323,6 +323,7 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle) list_for_each_entry(pn, &adev->physical_node_list, node) { if (dev_is_pci(pn->dev)) { + get_device(pn->dev); pci_dev = to_pci_dev(pn->dev); break; }