From: Mark Rutland Date: Mon, 10 Jun 2013 15:07:24 +0000 (+0100) Subject: arm: versatile: don't mark pen as __INIT X-Git-Tag: firefly_0821_release~3680^2~236^2^2~9^2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=bba0859a996589e9673717864d104a7603687941;p=firefly-linux-kernel-4.4.55.git arm: versatile: don't mark pen as __INIT 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. Signed-off-by: Mark Rutland Acked-by: Pawel Moll Cc: Lorenzo Pieralisi --- diff --git a/arch/arm/plat-versatile/headsmp.S b/arch/arm/plat-versatile/headsmp.S index b178d44e9eaa..2677bc3762d7 100644 --- a/arch/arm/plat-versatile/headsmp.S +++ b/arch/arm/plat-versatile/headsmp.S @@ -11,8 +11,6 @@ #include #include - __INIT - /* * Realview/Versatile Express specific entry point for secondary CPUs. * This provides a "holding pen" into which all secondary cores are held