Re: mainline/master bisection: baseline.login on meson-sm1-khadas-vim3l

From: Marc Zyngier
Date: Wed Feb 24 2021 - 03:53:54 EST


On Tue, 23 Feb 2021 21:03:52 +0000,
Guillaume Tucker <guillaume.tucker@xxxxxxxxxxxxx> wrote:
>
> On 23/02/2021 14:18, Marc Zyngier wrote:
> > Hi Guillaume,
> >
> > On Tue, 23 Feb 2021 09:46:30 +0000,
> > Guillaume Tucker <guillaume.tucker@xxxxxxxxxxxxx> wrote:
> >>
> >> Hello Marc,
> >>
> >> Please see the bisection report below about a boot failure on
> >> meson-sm1-khadas-vim3l on mainline. It seems to only be
> >> affecting kernels built with CONFIG_ARM64_64K_PAGES=y.
> >>
> >> Reports aren't automatically sent to the public while we're
> >> trialing new bisection features on kernelci.org but this one
> >> looks valid.
> >>
> >> There's no output in the log, so the kernel is most likely
> >> crashing early. Some more details can be found here:
> >>
> >> https://kernelci.org/test/case/id/6034bed3b344e2860daddcc8/
> >>
> >> Please let us know if you need any help to debug the issue or try
> >> a fix on this platform.
> >
> > Thanks for the heads up.
> >
> > There is actually a fundamental problem with the patch you bisected
> > to: it provides no guarantee that the point where we enable the EL2
> > MMU is in the idmap and, as it turns out, the code we're running from
> > disappears from under our feet, leading to a translation fault we're
> > not prepared to handle.
> >
> > How does it work with 4kB pages? Luck.
>
> There may be a fascinating explanation for it, but luck works
> too. It really seems to be booting happily with 4k pages:
>
> https://kernelci.org/test/plan/id/60347b358de339d1b7addcc5/

Oh, I know it boots fine with 4k, that's what I used everywhere.
We're just lucky that the bit of code that deals with the MMU happens
to *also* be in the idmap. With 64k pages, it gets pushed further down
the line, and bad things happen. Short of explicit statements in the
code, luck rules.

>
> > Do you mind giving the patch below a go? It does work on my vim3l and
> > on a FVP, so odds are that it will solve it for you too.
>
> Sure, and that worked here as well:
>
> http://lava.baylibre.com:10080/scheduler/job/752416
>
> and here's the test branch where I applied your fix, for
> completeness:
>
> https://gitlab.collabora.com/gtucker/linux/-/commits/v5.11-vim3l-vhe/

Awesome. thanks for having tested it.

> As always, if you do send a patch with the fix, please give some
> credit to the bot:
>
> Reported-by: "kernelci.org bot" <bot@xxxxxxxxxxxx>

Will do. Mind if I credit you too for the testing?

Thanks,

M.

--
Without deviation from the norm, progress is not possible.