From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm: versatile: don't mark pen as __INIT
Date: Mon, 10 Jun 2013 12:22:36 -0700 [thread overview]
Message-ID: <51B6277C.9020003@codeaurora.org> (raw)
In-Reply-To: <51B62454.204@codeaurora.org>
On 06/10/13 12:09, Stephen Boyd wrote:
> On 06/10/13 11:52, Mark Rutland wrote:
>> On Mon, Jun 10, 2013 at 07:39:27PM +0100, Stephen Boyd wrote:
>>> On 06/10/13 08: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.
>>>>
>>>> Signed-off-by: Mark Rutland <mark.rutland@arm.com>
>>>> Acked-by: Pawel Moll <pawel.moll@arm.com>
>>>> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
>>>> ---
>>>> arch/arm/plat-versatile/headsmp.S | 2 --
>>>> 1 file changed, 2 deletions(-)
>>>>
>>>> diff --git a/arch/arm/plat-versatile/headsmp.S b/arch/arm/plat-versatile/headsmp.S
>>>> index b178d44..2677bc3 100644
>>>> --- a/arch/arm/plat-versatile/headsmp.S
>>>> +++ b/arch/arm/plat-versatile/headsmp.S
>>>> @@ -11,8 +11,6 @@
>>>> #include <linux/linkage.h>
>>>> #include <linux/init.h>
>>>>
>>>> - __INIT
>>>> -
>>>> /*
>>>> * Realview/Versatile Express specific entry point for secondary CPUs.
>>>> * This provides a "holding pen" into which all secondary cores are held
>>> Why doesn't __CPUINIT work?
>> Won't we then encounter the same problem on builds without CPU_HOTPLUG? I
>> thought we'd throw away the .cpuinit.* section(s) in that case?
>>
> The generic linker macros look to set it up so that all __CPUINIT
> sections become __INIT in that scenario. Since we don't support hotplug
> booting with maxcpus < nr_present_cpus can't lead to any corruption
> because we can't bring online any of the offline and present CPUs.
>
Sorry I should clarify further. We can't bring online any offline and
present CPUs after the init sections are freed.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
next prev parent reply other threads:[~2013-06-10 19:22 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-10 15:07 [PATCH] arm: versatile: don't mark pen as __INIT Mark Rutland
2013-06-10 15:35 ` Jonathan Austin
2013-06-10 18:39 ` Stephen Boyd
2013-06-10 18:52 ` Mark Rutland
2013-06-10 19:09 ` Stephen Boyd
2013-06-10 19:22 ` Stephen Boyd [this message]
2013-06-10 20:39 ` Lorenzo Pieralisi
2013-06-10 21:23 ` Stephen Boyd
2013-06-10 23:24 ` Russell King - ARM Linux
2013-06-11 9:04 ` Mark Rutland
2013-06-11 15:43 ` Nicolas Pitre
2013-06-17 10:10 ` Mark Rutland
2013-06-17 11:25 ` Nicolas Pitre
2013-06-20 14:10 ` Mark Rutland
2013-06-18 13:26 ` Jon Medhurst (Tixy)
2013-06-18 15:13 ` Russell King - ARM Linux
2013-06-18 15:28 ` Jon Medhurst (Tixy)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51B6277C.9020003@codeaurora.org \
--to=sboyd@codeaurora.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.