[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171215142732.GL25650@arm.com>
Date: Fri, 15 Dec 2017 14:27:32 +0000
From: Will Deacon <will.deacon@....com>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: Dave Martin <Dave.Martin@....com>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Catalin Marinas <Catalin.Marinas@....com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux-Renesas <linux-renesas-soc@...r.kernel.org>,
Alex Bennée <alex.bennee@...aro.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: arm64: unhandled level 0 translation fault
On Fri, Dec 15, 2017 at 02:30:00PM +0100, Geert Uytterhoeven wrote:
> On Fri, Dec 15, 2017 at 12:23 PM, Dave Martin <Dave.Martin@....com> wrote:
> > The two important differences here seem to be
> >
> > 1) Staging the state via current->thread.fpsimd_state instead of loading
> > directly:
> >
> > - fpsimd_load_state(state);
> > + current->thread.fpsimd_state = *state;
> > + fpsimd_load_state(¤t->thread.fpsimd_state);
>
> The change above introduces the breakage.
I finally managed to reproduce this, but only by using the exact same
compiler as Geert:
https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/x86_64-gcc-4.9.0-nolibc_aarch64-linux.tar.xz
I then reliably see the problem if I run:
# /usr/bin/update-ca-certificates
from Debian Jessie.
Note that my normal toolchain (Linaro 7.1.1 build) works fine and also
if I use the toolchain above but disable CONFIG_ARM64_CRYPTO then things
work too.
So there's some toolchain-specific interaction between this change and the
crypto code...
Will
Powered by blists - more mailing lists