lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4FCB4B9E.3090508@linux.vnet.ibm.com>
Date:	Sun, 03 Jun 2012 17:03:50 +0530
From:	"Srivatsa S. Bhat" <srivatsa.bhat@...ux.vnet.ibm.com>
To:	Yong Zhang <yong.zhang0@...il.com>
CC:	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Tony Luck <tony.luck@...el.com>,
	Ralf Baechle <ralf@...ux-mips.org>,
	Benjamin Herrenschmidt <benh@...nel.crashing.org>,
	Paul Mundt <lethal@...ux-sh.org>,
	Chris Metcalf <cmetcalf@...era.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
	Mike Frysinger <vapier@...too.org>,
	Hirokazu Takata <takata@...ux-m32r.org>,
	Richard Kuo <rkuo@...eaurora.org>,
	David Howells <dhowells@...hat.com>,
	Bob Liu <lliubbo@...il.com>,
	"David S. Miller" <davem@...emloft.net>,
	Richard Weinberger <richard@....at>,
	Jesper Nilsson <jesper.nilsson@...s.com>,
	"James E.J. Bottomley" <jejb@...isc-linux.org>,
	Martin Schwidefsky <schwidefsky@...ibm.com>,
	Russell King <linux@....linux.org.uk>,
	Matt Turner <mattst88@...il.com>, nikunj@...ux.vnet.ibm.com
Subject: Re: [PATCH 01/27] smpboot: Provide a generic method to boot secondary
 processors

On 06/03/2012 02:23 PM, Yong Zhang wrote:

> On Fri, Jun 01, 2012 at 05:39:27PM +0530, Srivatsa S. Bhat wrote:
>> +void __cpuinit smpboot_start_secondary(void *arg)
>> +{
>> +	unsigned int cpu;
>> +
>> +	/*
>> +	 * SMP booting is extremely fragile in some architectures. So run
>> +	 * the cpu initialization code first before anything else.
>> +	 */
>> +	__cpu_pre_starting(arg);
>> +
>> +	preempt_disable();
>> +	cpu = smp_processor_id();
>> +
>> +	/* Invoke the CPU_STARTING notifier callbacks */
>> +	notify_cpu_starting(cpu);
>> +
>> +	__cpu_pre_online(arg);
>> +
>> +	/* Set the CPU in the cpu_online_mask */
>> +	set_cpu_online(cpu, true);
>> +
>> +	__cpu_post_online(arg);
>> +
> 
> Seems it worth to catch incorrect irq state here:
> 
> 	WARN_ON_ONCE(!irqs_disabled());
> 


That's a good point! But unfortunately we can't do that just yet.
Because, some architectures have explicit comments that say that
irqs must be enabled at a certain point in time, or have something
special than just a local_irq_enable(), and hence fall under the
__cpu_post_online() function when converted to this model.

Examples: ARM (patch 26) and ia64 (patch 15)

Unless the maintainers give a go-ahead to change them, I don't
think it would be safe.. (I have added the Notes section to each
patch to get the attention of the maintainers to such issues).

Regards,
Srivatsa S. Bhat

> 
>> +	/* Enable local interrupts now */
>> +	local_irq_enable();
>> +
>> +	wmb();
>> +	cpu_idle();
>> +
>> +	/* We should never reach here! */
>> +	BUG();
>> +}


--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ