This patch is still present in the 25.10 release, but I think it should
be removed.

Upstream go bug: https://github.com/golang/go/issues/54104

Go code review: https://go-review.googlesource.com/c/go/+/409055

Go commit:
https://github.com/golang/go/commit/1e3c19f3fee12e5e2b7802a54908a4d4d03960da

The fix was released in go1.20.

** Bug watch added: github.com/golang/go/issues #54104
   https://github.com/golang/go/issues/54104

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-riscv in Ubuntu.
https://bugs.launchpad.net/bugs/1991790

Title:
  Disable sv57 as the userspace is not ready

Status in linux-riscv package in Ubuntu:
  Fix Released

Bug description:
  [ 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 too.
    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 work 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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-riscv/+bug/1991790/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to