On Fri, 3 Aug 2012 12:36:39 -0700, Silas Boyd-Wickizer wrote:
> coretemp_init in drivers/hwmon/coretemp.c loops with
> for_each_online_cpu, adding platform_devices and sysfs interfaces,
> then calls register_hotcpu_notifier.  There is a race if a CPU is
> offlined or onlined after the loop, but before
> register_hotcpu_notifier.  The race might result in the absence of a
> platform_device+sysfs interface for an online CPU, or the presence of
> a platform_device+sysfs interface for an offline CPU.  A similar race
> occurs during coretemp_exit, after the module calls
> unregister_hotcpu_notifier, but before it unregisters all devices, a
> CPU might offline and a device for an offline CPU will exist for a
> short while.
> 
> 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 <[email protected]>
> ---
>  drivers/hwmon/coretemp.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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to