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