Disable sv57 as the userspace is not ready
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-riscv (Ubuntu) |
Fix Released
|
Undecided
|
Emil Renner Berthing |
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/
index 2c4a64e97aec.
--- a/arch/
+++ b/arch/
@@ -775,6 +775,10 @@ static __init void set_satp_mode(void)
}
+ /* UBUNTU: Force disable sv57 and fallback to sv48 */
+ if (pgtable_
+ disable_
+
[ 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.
CVE References
description: | updated |
description: | updated |
description: | updated |
Changed in linux-riscv (Ubuntu): | |
assignee: | nobody → Emil Renner Berthing (esmil) |
This bug was fixed in the package linux-riscv - 5.19.0-1003.3
---------------
linux-riscv (5.19.0-1003.3) kinetic; urgency=medium
* kinetic/ linux-riscv: 5.19.0-1003.3 -proposed tracker (LP: #1992335)
* Packaging resync (LP: #1786013) dkms-versions -- update from kernel-versions (main/master)
- debian/
* Disable sv57 as the userspace is not ready (LP: #1991790)
- SAUCE: riscv: mm: Force disable sv57
* rcu_sched detected stalls on CPUs/tasks (LP: #1967130)
- [Packaging] Keep VMAP_STACK off
* earlyconsole prints question marks on 5.19.0-1002-generic (LP: #1988984)
- [Config] Set CONFIG_PWM_SIFIVE=m for
* Miscellaneous Ubuntu changes
- [Packaging] suffixless backport kernel, handle it as an exception
- [Packaging] Add helper scripts
- [Packaging] Use all annotations from parent
- [Packaging] Review master changes
- [Packaging] Adjust ABI after config changes.
[ Ubuntu: 5.19.0-19.19 ]
* kinetic/linux: 5.19.0-19.19 -proposed tracker (LP: #1990960) netlbl_ mls()"" " sensitive( )""" secid_to_ secctx in inode_getsecctx """ secid_to_ secctx" "" cred_getsecid" "" inode_getsecid" "" task_getsecid" ""
* kinetic: apply new apparmor and LSM stacking patch set (LP: #1989983)
- Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Specify which LSM to display
(using struct cred as input)"""
- Revert "Revert "Revert "UBUNTU: SAUCE: apparmor: Fix build error, make sk
parameter const"""
- Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in
smk_
- Revert "Revert "Revert "UBUNTU: SAUCE: LSM: change ima_read_file() to use
lsmblob"""
- Revert "Revert "Revert "UBUNTU: SAUCE: apparmor: rename kzfree() to
kfree_
- Revert "Revert "Revert "UBUNTU: SAUCE: Audit: Fix for missing NULL check"""
- Revert "Revert "Revert "UBUNTU: SAUCE: AppArmor: Remove the exclusive
flag"""
- Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Add /proc attr entry for full
LSM context"""
- Revert "Revert "Revert "UBUNTU: SAUCE: Audit: Add a new record for multiple
object LSM attributes"""
- Revert "Revert "Revert "UBUNTU: SAUCE: Audit: Fix incorrect static inline
function declration."""
- Revert "Revert "Revert "UBUNTU: SAUCE: Audit: Add new record for multiple
process LSM attributes"""
- Revert "Revert "Revert "UBUNTU: SAUCE: NET: Store LSM netlabel data in a
lsmblob"""
- Revert "Revert "Revert "UBUNTU: SAUCE: LSM: security_
netlink netfilter"""
- Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmcontext in
security_
- Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmcontext in
security_
- Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Ensure the correct LSM context
releaser"""
- Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Specify which LSM to display"""
- Revert "Revert "Revert "UBUNTU: SAUCE: IMA: Change internal interfaces to
use lsmblobs"""
- Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in
security_
- Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in
security_
- Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in
security_
- Rever...