[Pull Request][mantic/linux-azure] Azure 6.5: Fix TDX regressions

Tim Gardner tim.gardner at canonical.com
Tue Feb 6 15:20:07 UTC 2024


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

SRU Justification

[Impact]

TDX support in Microsoft Azure kernels based on 6.5 has regressed from 6.2.
Microsoft has provided a backport that brings TDX functionality back to 
that of Azure 6.2.

[Test Case]

Microsoft tested

[Regression Potential]

TDX support has been backported from Linux v6.6, so there could be some 
lingering issues.

[Other Information]

SF: #00378027

----------------------------------------------------------------------
The following changes since commit 46d81a550d38e5d944d84ac9ac079d5927475001:

   UBUNTU: Ubuntu-azure-6.5.0-1012.12 (2024-01-15 14:08:21 -0700)

are available in the Git repository at:

 
git://git.launchpad.net/~timg-tpi/ubuntu/+source/linux-azure/+git/mantic 
mantic-dexuan-tdx-backport-lp2052519

for you to fetch changes up to 1efe32b05538cccc2e97d55a13ecb59bdde35c13:

   UBUNTU: SAUCE: clocksource: hyper-v: Use InvariantTSC and enable TSC 
page for a TDX VM without paravisor (2024-02-06 07:18:40 -0700)

----------------------------------------------------------------
Dexuan Cui (17):
       x86/hyperv: Fix undefined reference to isolation_type_en_snp 
without CONFIG_HYPERV
       x86/hyperv: Add hv_isolation_type_tdx() to detect TDX guests
       x86/hyperv: Support hypercalls for fully enlightened TDX guests
       Drivers: hv: vmbus: Support fully enlightened TDX guests
       x86/hyperv: Fix serial console interrupts for fully enlightened 
TDX guests
       Drivers: hv: vmbus: Support >64 VPs for a fully enlightened 
TDX/SNP VM
       x86/hyperv: Introduce a global variable hyperv_paravisor_present
       Drivers: hv: vmbus: Bring the post_msg_page back for TDX VMs with 
the paravisor
       x86/hyperv: Use TDX GHCI to access some MSRs in a TDX VM with the 
paravisor
       x86/hyperv: Remove hv_isolation_type_en_snp
       x86/hyperv: Move the code in ivm.c around to avoid unnecessary 
ifdef's
       x86/tdx: Retry partially-completed page conversion hypercalls
       UBUNTU: SAUCE: x86/EISA: Don't probe EISA bus for a TDX VM (with 
the paravisor) on Hyper-V
       UBUNTU: SAUCE: Drivers: hv: vmbus: Hardcode MMIO resources in 
vmbus_walk_resources() when necessary
       UBUNTU: SAUCE: x86/tdx: Support vmalloc() for 
tdx_enc_status_changed()
       UBUNTU: SAUCE: x86/coco: Allow CPU online/offline for a TDX VM 
with the paravisor on Hyper-V
       UBUNTU: SAUCE: clocksource: hyper-v: Use InvariantTSC and enable 
TSC page for a TDX VM without paravisor

Jiapeng Chong (1):
       x86/hyperv: Remove duplicate include

Kirill A. Shutemov (1):
       x86/mm: Fix memory encryption features advertisement

Nathan Chancellor (1):
       x86/hyperv: Add missing 'inline' to hv_snp_boot_ap() stub

Tianyu Lan (8):
       x86/hyperv: Add sev-snp enlightened guest static key
       x86/hyperv: Set Virtual Trust Level in VMBus init message
       x86/hyperv: Mark Hyper-V vp assist page unencrypted in SEV-SNP 
enlightened guest
       drivers: hv: Mark percpu hvcall input arg page unencrypted in 
SEV-SNP enlightened guest
       x86/hyperv: Use vmmcall to implement Hyper-V hypercall in sev-snp 
enlightened guest
       clocksource: hyper-v: Mark hyperv tsc page unencrypted in sev-snp 
enlightened guest
       x86/hyperv: Add smp support for SEV-SNP guest
       x86/hyperv: Add hyperv-specific handling for VMMCALL under SEV-ES

  arch/x86/coco/core.c               |   6 +++-
  arch/x86/coco/tdx/tdx.c            |  88 
++++++++++++++++++++++++++++++++++++++++++++++++--------
  arch/x86/entry/vdso/vma.c          |  11 +++++--
  arch/x86/hyperv/hv_apic.c          |  15 ++++++++--
  arch/x86/hyperv/hv_init.c          | 105 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
  arch/x86/hyperv/ivm.c              | 264 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------
  arch/x86/include/asm/coco.h        |   1 +
  arch/x86/include/asm/hyperv-tlfs.h |  10 ++++++-
  arch/x86/include/asm/mshyperv.h    |  71 
+++++++++++++++++++++++++++++++++++++++------
  arch/x86/include/asm/shared/tdx.h  |   2 ++
  arch/x86/kernel/cpu/mshyperv.c     |  88 
+++++++++++++++++++++++++++++++++++++++++++++++++++-----
  arch/x86/kernel/eisa.c             |  10 +++++++
  arch/x86/mm/mem_encrypt.c          |  56 
+++++++++++++++++++-----------------
  drivers/clocksource/hyperv_timer.c |  16 +++++++++--
  drivers/hv/connection.c            |  16 ++++++++---
  drivers/hv/hv.c                    | 131 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
  drivers/hv/hv_common.c             |  48 +++++++++++++++++++++++++++++--
  drivers/hv/hyperv_vmbus.h          |  11 +++++++
  drivers/hv/vmbus_drv.c             |  15 ++++++++++
  include/asm-generic/hyperv-tlfs.h  |   1 +
  include/asm-generic/mshyperv.h     |  17 ++++++++---
  include/linux/hyperv.h             |   4 +--
  22 files changed, 876 insertions(+), 110 deletions(-)
-- 
-----------
Tim Gardner
Canonical, Inc



More information about the kernel-team mailing list