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

Tim Gardner tim.gardner at canonical.com
Tue Feb 6 18:01:39 UTC 2024


On 2/6/24 8:20 AM, Tim Gardner wrote:
> 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(-)
Applied to mantic linux-azure:master-next. Thanks.

-rtg
-- 
-----------
Tim Gardner
Canonical, Inc




More information about the kernel-team mailing list