[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20120804105236.4e9c8e88@endymion.delvare>
Date: Sat, 4 Aug 2012 10:52:36 +0200
From: Jean Delvare <khali@...ux-fr.org>
To: Silas Boyd-Wickizer <sbw@....edu>
Cc: linux-kernel@...r.kernel.org,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Guenter Roeck <linux@...ck-us.net>,
Thomas Gleixner <tglx@...utronix.de>,
Harald Welte <laforge@...nezx.org>, x86@...nel.org
Subject: Re: [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@....edu>
> ---
> 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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists