Public bug reported: [Impact] The ARM-based VM will reboot after executing the 'nvme show-regs' command.
[Fix] There is an upstream commit that fixed this issue: commit fa5a46cc25b884a61a14f06e6693373bcefff29d Author: Oliver Upton <oliver.up...@linux.dev> Date: Thu Jul 4 19:59:26 2024 +0200 common.h: Avoid using unsupported load/store instructions in arm64 VMs Using nvme show-regs within a VM on arm64 can sometimes lead to VM termination. To answer why this happens: one of the deficiencies of the Arm architecture is that there exists a range of load/store instructions that have insufficient decode information for traps taken to the hypervisor. KVM, for example, may raise an external abort or outright terminate the VM depending on the configuration. This is a known problem on the kernel side, and is fixed by using assembly MMIO accessors w/ 'safe' load/store instructions. So do exactly that, providing arm64-specific accessors and falling back to plain old volatile pointer accesses for other architectures. Reported-by: William Butler <w...@google.com> Signed-off-by: Oliver Upton <oliver.up...@linux.dev> [Test Plan] Execute the command 'nvme show-regs /dev/nvme0' to confirm if it functions correctly. [Where problems could occur] The patch fixes the issue by using assembly code to access MMIO on ARM, while keeping the original approach on other platforms. If the patch encounters any issues, it will only impact the functionality of displaying register data on ARM-based platforms. ** Affects: nvme-cli (Ubuntu) Importance: Undecided Status: New ** Affects: nvme-cli (Ubuntu Focal) Importance: Undecided Status: New ** Affects: nvme-cli (Ubuntu Jammy) Importance: Undecided Status: New ** Affects: nvme-cli (Ubuntu Mantic) Importance: Undecided Status: New ** Affects: nvme-cli (Ubuntu Noble) Importance: Undecided Status: New ** Affects: nvme-cli (Ubuntu Oracular) Importance: Undecided Status: New ** Also affects: nvme-cli (Ubuntu Noble) Importance: Undecided Status: New ** Also affects: nvme-cli (Ubuntu Focal) Importance: Undecided Status: New ** Also affects: nvme-cli (Ubuntu Mantic) Importance: Undecided Status: New ** Also affects: nvme-cli (Ubuntu Jammy) Importance: Undecided Status: New ** Also affects: nvme-cli (Ubuntu Oracular) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2072381 Title: NVMe show-regs command forcibly reboots ARM-based VM To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/nvme-cli/+bug/2072381/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs