[PATCH 0/2] Fix arm64 boot regression in 5.14
Christophe Leroy
christophe.leroy at csgroup.eu
Wed Jul 21 04:26:27 AEST 2021
Will Deacon <will at kernel.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 at kernel.org>
> Cc: Michael Ellerman <mpe at ellerman.id.au>
> Cc: Thomas Gleixner <tglx at linutronix.de>
> Cc: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> Cc: Christophe Leroy <christophe.leroy at csgroup.eu>
> Cc: Paul Mackerras <paulus at samba.org>
> Cc: Jonathan Marek <jonathan at marek.ca>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Andrew Morton <akpm at linux-foundation.org>
> Cc: Nicholas Piggin <npiggin at gmail.com
> Cc: Mike Rapoport <rppt at kernel.org>
> Cc: Mark Rutland <mark.rutland at arm.com>
> Cc: Geert Uytterhoeven <geert at linux-m68k.org>
> Cc: Marc Zyngier <maz at kernel.org>
> Cc: linuxppc-dev at lists.ozlabs.org
> Cc: linux-arm-kernel at lists.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
More information about the Linuxppc-dev
mailing list