[SRU][J][PATCH 0/2] Fix bugs preventing boot on Intel TDX-enabled hosts

Ian Whitfield ian.whitfield at canonical.com
Tue Feb 11 03:13:32 UTC 2025


BugLink: https://bugs.launchpad.net/bugs/2097811

SRU Justification:

[Impact]

Google has requested these upstream commits be applied in order to fix
bugs preventing the boot of 5.15 kernel instances on their Intel TDX
enabled infrastructure.

These patches aim to resolve problems with incorrect assessment of the
CPU's address width in bits on x86, mostly during boot.

[Fix]

The first patch applied cleanly. The second patch had a large number of
unrelated conflicts resolved by adjusting the context around the changes
in the patch. One conflict did have a direct impact on the patch, but it
was resolved by tracing where a function call had been moved, and making
the original changes there.

This patchset was originally targeting the jammy:linux-gcp kernel, but
the same problem exists in the generic kernel. For this reason, a
separate thread was made for each kernel such that linux-gcp can get the
patches early and after the generic patch window has already closed, but
the same patches can be reviewed and applied to generic to fix the same
bugs, at a later time.

[Test Plan]

Google reported inability to boot Focal images (which use a backport of
this kernel) on a specific configuration in a deployment zone where
Intel TDX was enabled. This patchset was tested by booting a Jammy image
on one such machine (which uses the 6.8 kernel), installing this patched
kernel, and booting into it. Before this patch is applied, the installed
kernel doesn't finish the boot process, and after the patch is applied,
it boots as normal.

[Where problems could occur]

As these changes affect booting and the kernel's understanding of the
cpu, an error in the backporting of these patches could cause the user
to be unable to boot the kernel. Risk of an error is relatively low due
to the first patch applying cleanly and the second patch only needing
modification in the MTRR cleanup feature, which could be disabled with
a kernel command line parameter. If the fixes don't work, we would see
the kernel continue to not be bootable on TDX-enabled hosts.

Juergen Gross (1):
  x86/mtrr: Remove physical address size calculation

Paolo Bonzini (1):
  x86/cpu: Allow reducing x86_phys_bits during early_identify_cpu()

 arch/x86/kernel/cpu/common.c       |  2 +
 arch/x86/kernel/cpu/mtrr/cleanup.c | 16 ++++----
 arch/x86/kernel/cpu/mtrr/generic.c | 12 +++++-
 arch/x86/kernel/cpu/mtrr/mtrr.c    | 61 ++++--------------------------
 arch/x86/kernel/cpu/mtrr/mtrr.h    |  4 +-
 5 files changed, 31 insertions(+), 64 deletions(-)

-- 
2.43.0




More information about the kernel-team mailing list