[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210720202627.Horde.vlszNhxkKrLIg0-3Sn2ucw5@messagerie.c-s.fr>
Date: Tue, 20 Jul 2021 20:26:27 +0200
From: Christophe Leroy <christophe.leroy@...roup.eu>
To: Will Deacon <will@...nel.org>
Cc: linux-arm-kernel@...ts.infradead.org,
linuxppc-dev@...ts.ozlabs.org, Marc Zyngier <maz@...nel.org>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Mark Rutland <mark.rutland@....com>,
Mike Rapoport <rppt@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Catalin Marinas <catalin.marinas@....com>,
Jonathan Marek <jonathan@...ek.ca>,
Paul Mackerras <paulus@...ba.org>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Thomas Gleixner <tglx@...utronix.de>,
Michael Ellerman <mpe@...erman.id.au>,
Ard Biesheuvel <ardb@...nel.org>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/2] Fix arm64 boot regression in 5.14
Will Deacon <will@...nel.org> a écrit :
> Hi folks,
>
> Jonathan reports [1] that commit c742199a014d ("mm/pgtable: add stubs
> for {pmd/pub}_{set/clear}_huge") breaks the boot on arm64 when huge
> mappings are used to map the kernel linear map but the VA size is
> configured such that PUDs are folded. This is because the non-functional
> pud_set_huge() stub is used to create the linear map, which results in
> 1GB holes and a fatal data abort when the kernel attemps to access them.
>
> Digging further into the issue, it also transpired that huge-vmap is
> silently disabled in these configurations as well [2], despite working
> correctly in 5.13. The latter issue causes the pgtable selftests to
> scream due to a failing consistency check [3].
>
> Rather than leave mainline in a terminally broken state for arm64 while
> we figure this out, revert the offending commit to get things working
> again. Unfortunately, reverting the change in isolation causes a build
> breakage for 32-bit PowerPC 8xx machines which recently started relying
> on the problematic stubs to support pte-level huge-vmap entries [4].
> Since Christophe is away at the moment, this series first reverts the
> PowerPC 8xx change in order to avoid breaking the build.
>
> I would really like this to land for -rc3 and I can take these via the
> arm64 fixes queue if the PowerPC folks are alright with them.
>
If you can drop patch 1,
Change patch 2 to add the two following functions in
arch/powerpc/mm/nohash/8xx.c :
int pud_clear_huge(pud_t *pud)
{
return 0;
}
int pmd_clear_huge(pmd_t *pmd)
{
return 0;
}
Then feel free to take it via ARM fixes with my acked-by as maintainer
of PPC8XX.
Christophe
> Cheers,
>
> Will
>
> [1] https://lore.kernel.org/r/20210717160118.9855-1-jonathan@marek.ca
> [2] https://lore.kernel.org/r/20210719104918.GA6440@willie-the-truck
> [3]
> https://lore.kernel.org/r/CAMuHMdXShORDox-xxaeUfDW3wx2PeggFSqhVSHVZNKCGK-y_vQ@mail.gmail.com/
> [4]
> https://lore.kernel.org/r/8b972f1c03fb6bd59953035f0a3e4d26659de4f8.1620795204.git.christophe.leroy@csgroup.eu/
>
> Cc: Ard Biesheuvel <ardb@...nel.org>
> Cc: Michael Ellerman <mpe@...erman.id.au>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Cc: Benjamin Herrenschmidt <benh@...nel.crashing.org>
> Cc: Christophe Leroy <christophe.leroy@...roup.eu>
> Cc: Paul Mackerras <paulus@...ba.org>
> Cc: Jonathan Marek <jonathan@...ek.ca>
> Cc: Catalin Marinas <catalin.marinas@....com>
> Cc: Andrew Morton <akpm@...ux-foundation.org>
> Cc: Nicholas Piggin <npiggin@...il.com
> Cc: Mike Rapoport <rppt@...nel.org>
> Cc: Mark Rutland <mark.rutland@....com>
> Cc: Geert Uytterhoeven <geert@...ux-m68k.org>
> Cc: Marc Zyngier <maz@...nel.org>
> Cc: linuxppc-dev@...ts.ozlabs.org
> Cc: linux-arm-kernel@...ts.infradead.org
>
> --->8
>
> Jonathan Marek (1):
> Revert "mm/pgtable: add stubs for {pmd/pub}_{set/clear}_huge"
>
> Will Deacon (1):
> Revert "powerpc/8xx: add support for huge pages on VMAP and VMALLOC"
>
> arch/arm64/mm/mmu.c | 20 ++++-----
> arch/powerpc/Kconfig | 2 +-
> arch/powerpc/include/asm/nohash/32/mmu-8xx.h | 43 --------------------
> arch/x86/mm/pgtable.c | 34 +++++++---------
> include/linux/pgtable.h | 26 +-----------
> 5 files changed, 25 insertions(+), 100 deletions(-)
>
> --
> 2.32.0.402.g57bb445576-goog
Powered by blists - more mailing lists