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