lkml.org 
[lkml]   [2012]   [Aug]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4/4 V2] Use get_online_cpus to avoid races involving CPU hotplug
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 <sbw@mit.edu>
> ---
> drivers/hwmon/coretemp.c | 5 +++++
> 1 file changed, 5 insertions(+)
> (...)

Applied, thanks.

--
Jean Delvare


\
 
 \ /
  Last update: 2012-08-04 11:41    [W:0.051 / U:0.428 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site