[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <DUUPMQ.U53A0W7YJPGM@crapouillou.net>
Date: Sun, 10 Jan 2021 11:35:01 +0000
From: Paul Cercueil <paul@...pouillou.net>
To: Thomas Bogendoerfer <tsbogend@...ha.franken.de>
Cc: tglx@...utronix.de, airlied@...ux.ie, airlied@...hat.com,
akpm@...ux-foundation.org, arnd@...db.de, bcrl@...ck.org,
bigeasy@...utronix.de, bristot@...hat.com, bsegall@...gle.com,
bskeggs@...hat.com, chris@...kel.net, christian.koenig@....com,
clm@...com, davem@...emloft.net, deanbo422@...il.com,
dietmar.eggemann@....com, dri-devel@...ts.freedesktop.org,
dsterba@...e.com, green.hu@...il.com, hch@....de,
intel-gfx@...ts.freedesktop.org, jcmvbkbc@...il.com,
josef@...icpanda.com, juri.lelli@...hat.com, kraxel@...hat.com,
linux-aio@...ck.org, linux-arm-kernel@...ts.infradead.org,
linux-btrfs@...r.kernel.org, linux-csky@...r.kernel.org,
linux-fsdevel@...r.kernel.org,
linux-graphics-maintainer@...are.com, linux-kernel@...r.kernel.org,
linux-mips@...r.kernel.org, linux-mm@...ck.org,
linux-snps-arc@...ts.infradead.org, linux-xtensa@...ux-xtensa.org,
linux@...linux.org.uk, linuxppc-dev@...ts.ozlabs.org,
mgorman@...e.de, mingo@...nel.org, monstr@...str.eu,
mpe@...erman.id.au, nickhu@...estech.com,
nouveau@...ts.freedesktop.org, paulmck@...nel.org,
paulus@...ba.org, peterz@...radead.org, ray.huang@....com,
rodrigo.vivi@...el.com, rostedt@...dmis.org,
sparclinux@...r.kernel.org, spice-devel@...ts.freedesktop.org,
sroland@...are.com, torvalds@...uxfoundation.org,
vgupta@...opsys.com, vincent.guittot@...aro.org,
viro@...iv.linux.org.uk, virtualization@...ts.linux-foundation.org,
x86@...nel.org
Subject: Re: [patch V3 13/37] mips/mm/highmem: Switch to generic kmap atomic
Hi Thomas,
Le sam. 9 janv. 2021 à 1:33, Thomas Bogendoerfer
<tsbogend@...ha.franken.de> a écrit :
> On Sat, Jan 09, 2021 at 12:58:05AM +0100, Thomas Bogendoerfer wrote:
>> On Fri, Jan 08, 2021 at 08:20:43PM +0000, Paul Cercueil wrote:
>> > Hi Thomas,
>> >
>> > 5.11 does not boot anymore on Ingenic SoCs, I bisected it to this
>> commit.
>> >
>> > Any idea what could be happening?
>>
>> not yet, kernel crash log of a Malta QEMU is below.
>
> update:
>
> This dirty hack lets the Malta QEMU boot again:
>
> diff --git a/mm/highmem.c b/mm/highmem.c
> index c3a9ea7875ef..190cdda1149d 100644
> --- a/mm/highmem.c
> +++ b/mm/highmem.c
> @@ -515,7 +515,7 @@ void *__kmap_local_pfn_prot(unsigned long pfn,
> pgprot_t prot)
> vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
> BUG_ON(!pte_none(*(kmap_pte - idx)));
> pteval = pfn_pte(pfn, prot);
> - set_pte_at(&init_mm, vaddr, kmap_pte - idx, pteval);
> + set_pte(kmap_pte - idx, pteval);
> arch_kmap_local_post_map(vaddr, pteval);
> current->kmap_ctrl.pteval[kmap_local_idx()] = pteval;
> preempt_enable();
>
> set_pte_at() tries to update cache and could do an kmap_atomic()
> there.
> Not sure, if this is allowed at this point.
Yes, I can confirm that your workaround works here too.
Cheers,
-Paul
Powered by blists - more mailing lists