diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-04-28 11:58:16 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-04-28 11:58:16 -0700 |
commit | aec147c18856fa7115e14b9ad6a91c3ed2cf2e19 (patch) | |
tree | 842d91f32fba43cd3aba1fbb1f307302c63da866 /arch/x86/kernel/sev-shared.c | |
parent | 8d62e9bf287588c839b67e567c8b2b548e849b00 (diff) | |
parent | ce0abef6a1d540acef85068e0e82bdf1fbeeb0e9 (diff) | |
download | linux-aec147c18856fa7115e14b9ad6a91c3ed2cf2e19.tar.gz linux-aec147c18856fa7115e14b9ad6a91c3ed2cf2e19.tar.bz2 linux-aec147c18856fa7115e14b9ad6a91c3ed2cf2e19.zip |
Merge tag 'x86-urgent-2024-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Ingo Molnar:
- Make the CPU_MITIGATIONS=n interaction with conflicting
mitigation-enabling boot parameters a bit saner.
- Re-enable CPU mitigations by default on non-x86
- Fix TDX shared bit propagation on mprotect()
- Fix potential show_regs() system hang when PKE initialization
is not fully finished yet.
- Add the 0x10-0x1f model IDs to the Zen5 range
- Harden #VC instruction emulation some more
* tag 'x86-urgent-2024-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
cpu: Ignore "mitigations" kernel parameter if CPU_MITIGATIONS=n
cpu: Re-enable CPU mitigations by default for !X86 architectures
x86/tdx: Preserve shared bit on mprotect()
x86/cpu: Fix check for RDPKRU in __show_regs()
x86/CPU/AMD: Add models 0x10-0x1f to the Zen5 range
x86/sev: Check for MWAITX and MONITORX opcodes in the #VC handler
Diffstat (limited to 'arch/x86/kernel/sev-shared.c')
-rw-r--r-- | arch/x86/kernel/sev-shared.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kernel/sev-shared.c b/arch/x86/kernel/sev-shared.c index 8b04958da5e7..b4f8fa0f722c 100644 --- a/arch/x86/kernel/sev-shared.c +++ b/arch/x86/kernel/sev-shared.c @@ -1203,12 +1203,14 @@ static enum es_result vc_check_opcode_bytes(struct es_em_ctxt *ctxt, break; case SVM_EXIT_MONITOR: - if (opcode == 0x010f && modrm == 0xc8) + /* MONITOR and MONITORX instructions generate the same error code */ + if (opcode == 0x010f && (modrm == 0xc8 || modrm == 0xfa)) return ES_OK; break; case SVM_EXIT_MWAIT: - if (opcode == 0x010f && modrm == 0xc9) + /* MWAIT and MWAITX instructions generate the same error code */ + if (opcode == 0x010f && (modrm == 0xc9 || modrm == 0xfb)) return ES_OK; break; |