** Description changed:

  SRU Justification:
  
  [Impact]
  
  A series of upstream arm64 and KVM architecture patches are missing from
  the Jammy and Noble kernels. These commits correct the early
  initialization and handling of HCR_EL2.E2H regarding feature detection
  for FEAT_E2H0 (systems omitting support for running a host at EL1
  without Virtualization Host Extensions). The lack of these fixes on
  Google Cloud Platform (-gcp) kernel running on ARM64 cloud instances can
  result in unstable KVM state initialization, improper architectural
  register detection, or boot-time dependency breakages. Because
  individual patches in the series introduced tightly coupled edge-case
  bugs that were sequentially resolved by the later commits, the entire
  sequence must be backported as an atomic block to Noble release.
  
  [Fix]
  
- Backport the upstream 4-commit sequence that revamps the general
- HCR_EL2.E2H RES1 detection safely and initializes it early. These
- patches (already present in the v7.0 base and partially upstreamed to
- stable branches such as 6.12.64) must be evaluated against the 6.8
- (Noble) codebase to cleanly resolve code drift in the early ARM64 CPU
- boot/setup phases.
+ Target patches:
+ 
+ 3944382fa6f2 ("arm64: Treat HCR_EL2.E2H as RES1 when ID_AA64MMFR4_EL1.E2H0 is 
negative")
+ b3320142f3db ("arm64: Fix early handling of FEAT_E2H0 not being implemented")
+ 7a68b55ff39b ("KVM: arm64: Initialize HCR_EL2.E2H early")
+ ca88ecdce5f5 ("arm64: Revamp HCR_EL2.E2H RES1 detection")
+ 
+ Some additional patches were needed for these to apply/build cleanly:
  
  [Test Plan]
  
  Provision an ARM64-based Instance on Google Cloud Platform running the
  target kernel version (Noble). Validate hardware virtualization
  capability flags and boot log diagnostic buffers via dmesg | grep -i kvm
  or dmesg | grep -i e2h. Verify that the KVM subsystem initializes
  correctly and hypervisor execution states do not throw system traps or
  register state corruptions under immediate host-guest context switching.
  Execute the standard Ubuntu Kernel Regression Test (KRT) suite for
  virtualization topologies on ARM64 architectures.
  
  [Regression potential]
  
  The regression potential is isolated strictly to ARM64 (aarch64)
  platforms, with zero risk to x86 or other architectures. Because these
  patches alter register initialization logic (HCR_EL2) at very early boot
  and hypervisor init stages, regressions could manifest as boot failures,
  kernel panics during early CPU feature detection, or broken nested
  virtualization on specific ARM hardware implementations. However, this
  risk is deeply mitigated by pulling the entire 4-commit sequence as a
  comprehensive lifecycle block, directly mirroring stable upstream
  patterns (such as those fed by the 6.12 stable branches).
  
  [Other Info]
  
  SF:00442966

** Description changed:

  SRU Justification:
  
  [Impact]
  
  A series of upstream arm64 and KVM architecture patches are missing from
  the Jammy and Noble kernels. These commits correct the early
  initialization and handling of HCR_EL2.E2H regarding feature detection
  for FEAT_E2H0 (systems omitting support for running a host at EL1
  without Virtualization Host Extensions). The lack of these fixes on
  Google Cloud Platform (-gcp) kernel running on ARM64 cloud instances can
  result in unstable KVM state initialization, improper architectural
  register detection, or boot-time dependency breakages. Because
  individual patches in the series introduced tightly coupled edge-case
  bugs that were sequentially resolved by the later commits, the entire
  sequence must be backported as an atomic block to Noble release.
  
  [Fix]
  
  Target patches:
  
  3944382fa6f2 ("arm64: Treat HCR_EL2.E2H as RES1 when ID_AA64MMFR4_EL1.E2H0 is 
negative")
  b3320142f3db ("arm64: Fix early handling of FEAT_E2H0 not being implemented")
  7a68b55ff39b ("KVM: arm64: Initialize HCR_EL2.E2H early")
  ca88ecdce5f5 ("arm64: Revamp HCR_EL2.E2H RES1 detection")
  
- Some additional patches were needed for these to apply/build cleanly:
+ Some additional patches may be needed for these to apply/build cleanly:
  
  [Test Plan]
  
  Provision an ARM64-based Instance on Google Cloud Platform running the
  target kernel version (Noble). Validate hardware virtualization
  capability flags and boot log diagnostic buffers via dmesg | grep -i kvm
  or dmesg | grep -i e2h. Verify that the KVM subsystem initializes
  correctly and hypervisor execution states do not throw system traps or
  register state corruptions under immediate host-guest context switching.
  Execute the standard Ubuntu Kernel Regression Test (KRT) suite for
  virtualization topologies on ARM64 architectures.
  
  [Regression potential]
  
  The regression potential is isolated strictly to ARM64 (aarch64)
  platforms, with zero risk to x86 or other architectures. Because these
  patches alter register initialization logic (HCR_EL2) at very early boot
  and hypervisor init stages, regressions could manifest as boot failures,
  kernel panics during early CPU feature detection, or broken nested
  virtualization on specific ARM hardware implementations. However, this
  risk is deeply mitigated by pulling the entire 4-commit sequence as a
  comprehensive lifecycle block, directly mirroring stable upstream
  patterns (such as those fed by the 6.12 stable branches).
  
  [Other Info]
  
  SF:00442966

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2160745

Title:
  KVM backports to 6.8 related to HCR_EL2.E2H

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


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to