[Bug 2072381] [NEW] NVMe show-regs command forcibly reboots ARM-based VM

Launchpad Bug Tracker 2072381 at bugs.launchpad.net
Sat Jul 6 12:29:20 UTC 2024


You have been subscribed to a public bug by Ubuntu Foundations Team Bug Bot (crichton):

[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.upton at 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 <wab at google.com>
    Signed-off-by: Oliver Upton <oliver.upton at 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
     Assignee: Chengen Du (chengendu)
         Status: New

** Affects: nvme-cli (Ubuntu Focal)
     Importance: Undecided
     Assignee: Chengen Du (chengendu)
         Status: New

** Affects: nvme-cli (Ubuntu Jammy)
     Importance: Undecided
     Assignee: Chengen Du (chengendu)
         Status: New

** Affects: nvme-cli (Ubuntu Mantic)
     Importance: Undecided
     Assignee: Chengen Du (chengendu)
         Status: New

** Affects: nvme-cli (Ubuntu Noble)
     Importance: Undecided
     Assignee: Chengen Du (chengendu)
         Status: New

** Affects: nvme-cli (Ubuntu Oracular)
     Importance: Undecided
     Assignee: Chengen Du (chengendu)
         Status: New


** Tags: patch
-- 
NVMe show-regs command forcibly reboots ARM-based VM
https://bugs.launchpad.net/bugs/2072381
You received this bug notification because you are a member of Ubuntu Sponsors, which is subscribed to the bug report.



More information about the Ubuntu-sponsors mailing list