[PATCH] arm: versatile: don't mark pen as __INIT
Jonathan Austin
jonathan.austin at arm.com
Mon Jun 10 11:35:12 EDT 2013
On 10/06/13 16:07, Mark Rutland wrote:
> When booting fewer cores than are physically present on a versatile
> platform (e.g. when passing maxcpus=N on the command line), some
> secondary cores may remain in the holding pen, which is marked __INIT.
> Late in the boot process, the memory comprising the holding pen will be
> released to the kernel for more general use, and may be overwritten with
> arbitrary data, which can cause the held secondaries to start behaving
> unpredictably. This can lead to all manner of odd behaviour from the
> kernel.
>
> Instead don't mark the section as __INIT. This means we can't reuse the
> pen memory, but we won't get secondaries corrupting the rest of the
> kernel.
>
Thanks for the patch, Mark,
I got bitten by this today booting Russell's devel-stable branch (with 4
CPUs). The corruption you get can lead you up the garden path debugging
something totally different!
Does this need to be applied to stable kernels, too?
Jonny
More information about the linux-arm-kernel
mailing list