From: Guenter Roeck <linux@roeck-us.net>
To: Stafford Horne <shorne@gmail.com>
Cc: Jonas Bonn <jonas@southpole.se>,
linux-kernel@vger.kernel.org, stefan.kristiansson@saunalahti.fi,
akpm@linux-foundation.org, Kees Cook <keescook@chromium.org>
Subject: Re: [PATCH -next] openrisc: Define __ro_after_init to avoid crash
Date: Tue, 27 Sep 2016 07:41:51 -0700 [thread overview]
Message-ID: <9cbb8e34-01d1-e600-5ea0-f057d76cdc20@roeck-us.net> (raw)
In-Reply-To: <alpine.LFD.2.20.1609272311040.4206@lianli.shorne-pla.net>
On 09/27/2016 07:15 AM, Stafford Horne wrote:
>
>
> On Sat, 24 Sep 2016, Guenter Roeck wrote:
>
>> openrisc qemu tests fail with the following crash.
>>
>> Unable to handle kernel access at virtual address 0xc0300c34
>>
>> Oops#: 0001
>> CPU #: 0
>> PC: c016c710 SR: 0000ae67 SP: c1017e04
>> GPR00: 00000000 GPR01: c1017e04 GPR02: c0300c34 GPR03: c0300c34
>> GPR04: 00000000 GPR05: c0300cb0 GPR06: c0300c34 GPR07: 000000ff
>> GPR08: c107f074 GPR09: c0199ef4 GPR10: c1016000 GPR11: 00000000
>> GPR12: 00000000 GPR13: c107f044 GPR14: c0473774 GPR15: 07ce0000
>> GPR16: 00000000 GPR17: c107ed8a GPR18: 00009600 GPR19: c107f044
>> GPR20: c107ee74 GPR21: 00000003 GPR22: c0473770 GPR23: 00000033
>> GPR24: 000000bf GPR25: 00000019 GPR26: c046400c GPR27: 00000001
>> GPR28: c0464028 GPR29: c1018000 GPR30: 00000006 GPR31: ccf37483
>> RES: 00000000 oGPR11: ffffffff
>> Process swapper (pid: 1, stackpage=c1001960)
>>
>> Stack: Stack dump [0xc1017cf8]:
>> sp + 00: 0xc1017e04
>> sp + 04: 0xc0300c34
>> sp + 08: 0xc0300c34
>> sp + 12: 0x00000000
>> ...
>>
>> Bisect points to commit d2ec3f77de8e ("pty: make ptmx file ops read-only
>> after init"). Fix by defining __ro_after_init for the openrisc
>> architecture, similar to parisc.
>
> Thanks for finding this one.
> Just for clatify __read_mostly falls back to default blank in openrisc, so it gets no special section treatment.
>
Yes, I understand. It falls back to the pre-_ro_after_init behavior, which should be
perfectly fine here.
Guenter
> Acked-by: Stafford Horne <shorne@gmail.com>
>
>
>> Fixes: d2ec3f77de8e ("pty: make ptmx file ops read-only after init")
>> Cc: Kees Cook <keescook@chromium.org>
>> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
>> ---
>> arch/openrisc/include/asm/cache.h | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/openrisc/include/asm/cache.h b/arch/openrisc/include/asm/cache.h
>> index 4ce7a01a252d..5f55da9cbfd5 100644
>> --- a/arch/openrisc/include/asm/cache.h
>> +++ b/arch/openrisc/include/asm/cache.h
>> @@ -23,6 +23,8 @@
>> * they shouldn't be hard-coded!
>> */
>>
>> +#define __ro_after_init __read_mostly
>> +
>> #define L1_CACHE_BYTES 16
>> #define L1_CACHE_SHIFT 4
>>
>> --
>> 2.5.0
>>
>>
>
prev parent reply other threads:[~2016-09-27 14:42 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-24 14:15 Guenter Roeck
2016-09-27 14:15 ` Stafford Horne
2016-09-27 14:41 ` Guenter Roeck [this message]
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=9cbb8e34-01d1-e600-5ea0-f057d76cdc20@roeck-us.net \
--to=linux@roeck-us.net \
--cc=akpm@linux-foundation.org \
--cc=jonas@southpole.se \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=shorne@gmail.com \
--cc=stefan.kristiansson@saunalahti.fi \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®