ACPI / scan: Clear match_driver flag in acpi_bus_trim()
diff mbox series

Message ID 1737561.u7lWGR6b7C@vostro.rjw.lan
State New, archived
Headers show
Series
  • ACPI / scan: Clear match_driver flag in acpi_bus_trim()
Related show

Commit Message

Rafael J. Wysocki Jan. 27, 2014, 12:16 a.m. UTC
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Drivers should not bind to struct acpi_device objects that
acpi_bus_trim() has been called for, so make that function
clear flags.match_driver for those objects.

If that is not done, an ACPI driver may theoretically try to operate
a device that is not physically present.

Fixes: 202317a573b2 (ACPI / scan: Add acpi_device objects for all device nodes in the namespace)
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/acpi/scan.c |    1 +
 1 file changed, 1 insertion(+)


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Comments

Toshi Kani Jan. 28, 2014, 9:59 p.m. UTC | #1
On Mon, 2014-01-27 at 01:16 +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> Drivers should not bind to struct acpi_device objects that
> acpi_bus_trim() has been called for, so make that function
> clear flags.match_driver for those objects.
> 
> If that is not done, an ACPI driver may theoretically try to operate
> a device that is not physically present.
> 
> Fixes: 202317a573b2 (ACPI / scan: Add acpi_device objects for all device nodes in the namespace)
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Acked-by: Toshi Kani <toshi.kani@hp.com>

Thanks,
-Toshi



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Patch
diff mbox series

Index: linux-pm/drivers/acpi/scan.c
===================================================================
--- linux-pm.orig/drivers/acpi/scan.c
+++ linux-pm/drivers/acpi/scan.c
@@ -2106,6 +2106,7 @@  void acpi_bus_trim(struct acpi_device *a
 	list_for_each_entry_reverse(child, &adev->children, node)
 		acpi_bus_trim(child);
 
+	adev->flags.match_driver = false;
 	if (handler) {
 		if (handler->detach)
 			handler->detach(adev);