diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2023-06-27 02:32:47 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2023-06-27 02:32:47 +0300 |
commit | 5dfe7a7e52ccdf60dfd11ccbe509e4365ea721ca (patch) | |
tree | 04d8248a95f1789db43578cfd91dfd19e28654ff /arch/x86/include/asm/shared/tdx.h | |
parent | 36db314440502c1a3a283ba5a16cb5075c19f3d9 (diff) | |
parent | 94142c9d1bdf1c18027a42758ceb6bdd59a92012 (diff) | |
download | linux-5dfe7a7e52ccdf60dfd11ccbe509e4365ea721ca.tar.xz |
Merge tag 'x86_tdx_for_6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 tdx updates from Dave Hansen:
- Fix a race window where load_unaligned_zeropad() could cause a fatal
shutdown during TDX private<=>shared conversion
The race has never been observed in practice but might allow
load_unaligned_zeropad() to catch a TDX page in the middle of its
conversion process which would lead to a fatal and unrecoverable
guest shutdown.
- Annotate sites where VM "exit reasons" are reused as hypercall
numbers.
* tag 'x86_tdx_for_6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/mm: Fix enc_status_change_finish_noop()
x86/tdx: Fix race between set_memory_encrypted() and load_unaligned_zeropad()
x86/mm: Allow guest.enc_status_change_prepare() to fail
x86/tdx: Wrap exit reason with hcall_func()
Diffstat (limited to 'arch/x86/include/asm/shared/tdx.h')
-rw-r--r-- | arch/x86/include/asm/shared/tdx.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/x86/include/asm/shared/tdx.h b/arch/x86/include/asm/shared/tdx.h index 19228beb4894..7513b3bb69b7 100644 --- a/arch/x86/include/asm/shared/tdx.h +++ b/arch/x86/include/asm/shared/tdx.h @@ -93,5 +93,16 @@ u64 __tdx_module_call(u64 fn, u64 rcx, u64 rdx, u64 r8, u64 r9, bool tdx_accept_memory(phys_addr_t start, phys_addr_t end); +/* + * The TDG.VP.VMCALL-Instruction-execution sub-functions are defined + * independently from but are currently matched 1:1 with VMX EXIT_REASONs. + * Reusing the KVM EXIT_REASON macros makes it easier to connect the host and + * guest sides of these calls. + */ +static __always_inline u64 hcall_func(u64 exit_reason) +{ + return exit_reason; +} + #endif /* !__ASSEMBLY__ */ #endif /* _ASM_X86_SHARED_TDX_H */ |