platform/x86: apple-gmux: Switch to use acpi_bus_get_primary_device()

Replace acpi_get_first_physical_node() that is slated for removal
with acpi_bus_get_primary_device() that takes a reference to the
device it is about to return.

This addresses a potential use-after-free that may occur if the
device returned by acpi_get_first_physical_node() is removed right
after dropping its ACPI companion's physical_node_lock in that
function.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Link: https://patch.msgid.link/2287208.Mh6RI2rZIc@rafael.j.wysocki
This commit is contained in:
Rafael J. Wysocki 2026-09-21 21:49:49 +02:00
parent 2058cd0f59
commit 7a4c8ddba1

View File

@ -109,7 +109,7 @@ static inline bool apple_gmux_detect(struct pnp_dev *pnp_dev, enum apple_gmux_ty
if (!adev)
return false;
dev = get_device(acpi_get_first_physical_node(adev));
dev = acpi_bus_get_primary_device(adev);
acpi_dev_put(adev);
if (!dev)
return false;