[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <f3074852-ef83-5426-9928-f0201f704b49@c-s.fr>
Date: Tue, 26 Nov 2019 10:01:22 +0100
From: Christophe Leroy <christophe.leroy@....fr>
To: Michael Ellerman <mpe@...erman.id.au>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>, npiggin@...il.com,
dja@...ens.net
Cc: linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
linux-mm@...ck.org
Subject: Re: [PATCH v3 15/15] powerpc/32s: Activate CONFIG_VMAP_STACK
Le 19/11/2019 à 07:58, Michael Ellerman a écrit :
> Christophe Leroy <christophe.leroy@....fr> writes:
>> A few changes to retrieve DAR and DSISR from struct regs
>> instead of retrieving them directly, as they may have
>> changed due to a TLB miss.
>>
>> Also modifies hash_page() and friends to work with virtual
>> data addresses instead of physical ones.
>>
>> Signed-off-by: Christophe Leroy <christophe.leroy@....fr>
>> ---
>> arch/powerpc/kernel/entry_32.S | 4 +++
>> arch/powerpc/kernel/head_32.S | 19 +++++++++++---
>> arch/powerpc/kernel/head_32.h | 4 ++-
>> arch/powerpc/mm/book3s32/hash_low.S | 46 +++++++++++++++++++++-------------
>> arch/powerpc/mm/book3s32/mmu.c | 9 +++++--
>> arch/powerpc/platforms/Kconfig.cputype | 2 ++
>> 6 files changed, 61 insertions(+), 23 deletions(-)
>
> This is faulting with qemu mac99 model:
>
> Key type id_resolver registered
> Key type id_legacy registered
> BUG: Unable to handle kernel data access on read at 0x2f0db684
> Faulting instruction address: 0x00004130
> Oops: Kernel access of bad area, sig: 11 [#1]
> BE PAGE_SIZE=4K MMU=Hash PowerMac
> Modules linked in:
> CPU: 0 PID: 65 Comm: modprobe Not tainted 5.4.0-rc2-gcc49+ #63
> NIP: 00004130 LR: 000008c8 CTR: b7eb86e0
Problem found, that's in load_up_fpu(), have to apply tovirt() to the
address read from SPRN_SPRG_THREAD. Same problem in load_up_altivec().
I'll fix that in v4 today.
Christophe
Powered by blists - more mailing lists