Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754004Ab2HDIwp (ORCPT ); Sat, 4 Aug 2012 04:52:45 -0400 Received: from zoneX.GCU-Squad.org ([194.213.125.0]:23600 "EHLO services.gcu-squad.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753675Ab2HDIwn (ORCPT ); Sat, 4 Aug 2012 04:52:43 -0400 Date: Sat, 4 Aug 2012 10:52:36 +0200 From: Jean Delvare To: Silas Boyd-Wickizer Cc: linux-kernel@vger.kernel.org, "Paul E. McKenney" , Guenter Roeck , Thomas Gleixner , Harald Welte , x86@kernel.org Subject: Re: [PATCH 4/4 V2] Use get_online_cpus to avoid races involving CPU hotplug Message-ID: <20120804105236.4e9c8e88@endymion.delvare> In-Reply-To: <20120803193638.GE4227@mit.edu> References: <20120803193638.GE4227@mit.edu> X-Mailer: Claws Mail 3.7.10 (GTK+ 2.24.7; x86_64-suse-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1392 Lines: 35 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 > --- > 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/