Let's document why we take the lock here. If we're going to overhaul memory hotplug locking, we'll have to touch many places - this comment will help to clairfy why it was added here. Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Oscar Salvador <osalvador@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David Hildenbrand <david@xxxxxxxxxx> --- drivers/acpi/scan.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index cbc9d64b48dd..9193f1d46148 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -2204,6 +2204,11 @@ int __init acpi_scan_init(void) acpi_gpe_apply_masked_gpes(); acpi_update_all_gpes(); + /* + * We end up calling __add_memory(), which expects the + * device_hotplug_lock to be held. Races with userspace and other + * hotplug activities are not really possible - lock for consistency. + */ lock_device_hotplug(); mutex_lock(&acpi_scan_lock); -- 2.21.0