APPLIED: [SRU][K][PATCH 0/1] Disable sv57 on riscv64
Dimitri John Ledkov
dimitri.ledkov at canonical.com
Mon Oct 10 14:43:03 UTC 2022
Applied to unstable and kinetic.
On Mon, 10 Oct 2022 at 13:49, Tim Gardner <tim.gardner at canonical.com> wrote:
>
> On 10/10/22 05:27, Emil Renner Berthing wrote:
> > [ Impact ]
> >
> > * Linux 5.18 merged support for 5-level page tables (sv57), and it
> > does it such that 5-level page tables are used whenever the
> > system supports it.
> >
> > * So far only Qemu support sv57, but it breaks Go since Go uses
> > too many of the upper bits of pointers to store data, and is not
> > yet ready for sv57. It probably breaks other types of software
> > using too many bits for this "pointer tagging" technique.
> > At the moment, there is no way to indicate to the kernel to
> > downgrade to sv48, so we must patch the kernel:
> >
> > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
> > index 2c4a64e97aec..18a0c70ed313 100644
> > --- a/arch/riscv/mm/init.c
> > +++ b/arch/riscv/mm/init.c
> > @@ -775,6 +775,10 @@ static __init void set_satp_mode(void)
> > disable_pgtable_l4();
> > }
> >
> > + /* UBUNTU: Force disable sv57 and fallback to sv48 */
> > + if (pgtable_l5_enabled)
> > + disable_pgtable_l5();
> > +
> > memset(early_pg_dir, 0, PAGE_SIZE);
> > memset(early_p4d, 0, PAGE_SIZE);
> > memset(early_pud, 0, PAGE_SIZE);
> >
> > [ Test Plan ]
> >
> > * Build an image with the patched kernel and make sure snapd and
> > other Go programs works correctly and that you can compile a
> > simple helloworld written in Go.
> >
> > [ Where problems could occur ]
> >
> > * The patch could be buggy.
> >
> > * Qemu will no longer work with > 256 TB of memory.
> >
> > Alexandre Ghiti (1):
> > UBUNTU: SAUCE: riscv: mm: Force disable sv57
> >
> > arch/riscv/mm/init.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> Acked-by: Tim Gardner <tim.gardner at canonical.com>
> --
> -----------
> Tim Gardner
> Canonical, Inc
>
>
> --
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
--
okurrr,
Dimitri
More information about the kernel-team
mailing list