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/

