Re: [PATCH 3/4 V2] Use get_online_cpus to avoid races involving CPU hotplug

From: Jean Delvare
Date: Sat Aug 04 2012 - 04:52:29 EST


On Fri, 3 Aug 2012 12:35:28 -0700, Silas Boyd-Wickizer wrote:
> via_cputemp_init in drivers/hwmon/via-cputemp.c loops with
> for_each_online_cpu, adding platform_devices, then calls
> register_hotcpu_notifier. If a CPU is offlined between the loop and
> register_hotcpu_notifier, then later onlined, via_cputemp_device_add
> will attempt to add platform devices with the same ID. A similar race
> occurs during via_cputemp_exit, after the module calls
> unregister_hotcpu_notifier, a CPU might offline and a device will
> exist for a CPU that is offline.
>
> This fix surrounds for_each_online_cpu and register_hotcpu_notifier
> with get_online_cpus+put_online_cpus; and surrounds
> unregister_hotcpu_notifier and device unregistering with
> get_online_cpus+put_online_cpus.
>
> Build tested.
>
> Signed-off-by: Silas Boyd-Wickizer <sbw@xxxxxxx>
> ---
> drivers/hwmon/via-cputemp.c | 5 +++++
> 1 file changed, 5 insertions(+)
> (...)

Applied, thanks.

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