linux_dsm_epyc7002/arch
Sean Christopherson 2ebac8bb3c KVM: nVMX: Consult only the "basic" exit reason when routing nested exit
Consult only the basic exit reason, i.e. bits 15:0 of vmcs.EXIT_REASON,
when determining whether a nested VM-Exit should be reflected into L1 or
handled by KVM in L0.

For better or worse, the switch statement in nested_vmx_exit_reflected()
currently defaults to "true", i.e. reflects any nested VM-Exit without
dedicated logic.  Because the case statements only contain the basic
exit reason, any VM-Exit with modifier bits set will be reflected to L1,
even if KVM intended to handle it in L0.

Practically speaking, this only affects EXIT_REASON_MCE_DURING_VMENTRY,
i.e. a #MC that occurs on nested VM-Enter would be incorrectly routed to
L1, as "failed VM-Entry" is the only modifier that KVM can currently
encounter.  The SMM modifiers will never be generated as KVM doesn't
support/employ a SMI Transfer Monitor.  Ditto for "exit from enclave",
as KVM doesn't yet support virtualizing SGX, i.e. it's impossible to
enter an enclave in a KVM guest (L1 or L2).

Fixes: 644d711aa0 ("KVM: nVMX: Deciding if L0 or L1 should handle an L2 exit")
Cc: Jim Mattson <jmattson@google.com>
Cc: Xiaoyao Li <xiaoyao.li@intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Message-Id: <20200227174430.26371-1-sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-06-11 11:28:11 -04:00
..
alpha mm/special: create generic fallbacks for pte_special() and pte_mkspecial() 2020-04-10 15:36:21 -07:00
arc ARC fixes for 5.7 2020-05-19 15:40:51 -07:00
arm ARM: SoC fixes for v5.7 2020-05-29 16:10:07 -07:00
arm64 ARM: SoC fixes for v5.7 2020-05-29 16:10:07 -07:00
c6x mm/vma: define a default value for VM_DATA_DEFAULT_FLAGS 2020-04-10 15:36:21 -07:00
csky csky: Fixup CONFIG_DEBUG_RSEQ 2020-05-28 00:18:36 +00:00
h8300 h8300: ignore vmlinux.lds 2020-04-23 16:41:26 +09:00
hexagon arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
ia64 ia64: Hide the archdata.iommu field behind generic IOMMU_API 2020-05-27 16:41:29 +02:00
m68k m68k: Drop redundant generic-y += hardirq.h 2020-04-13 11:08:52 -07:00
microblaze mm/special: create generic fallbacks for pte_special() and pte_mkspecial() 2020-04-10 15:36:21 -07:00
mips arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
nds32 arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
nios2 nios2 update for v5.7-rc1 2020-04-11 11:38:44 -07:00
openrisc mm/special: create generic fallbacks for pte_special() and pte_mkspecial() 2020-04-10 15:36:21 -07:00
parisc parisc: Fix kernel panic in mem_init() 2020-05-29 15:47:55 +02:00
powerpc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-31 10:16:53 -07:00
riscv RISC-V: gp_in_global needs register keyword 2020-05-21 13:28:26 -07:00
s390 s390/kaslr: add support for R_390_JMP_SLOT relocation type 2020-05-20 10:13:27 +02:00
sh sh: include linux/time_types.h for sockios 2020-05-23 10:26:31 -07:00
sparc sparc32: fix page table traversal in srmmu_nocache_init() 2020-05-23 13:59:12 -07:00
um um: Fix typo in vector driver transport option definition 2020-04-29 21:22:15 +02:00
unicore32 mm/special: create generic fallbacks for pte_special() and pte_mkspecial() 2020-04-10 15:36:21 -07:00
x86 KVM: nVMX: Consult only the "basic" exit reason when routing nested exit 2020-06-11 11:28:11 -04:00
xtensa arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
.gitignore
Kconfig dma-mapping updates for 5.7 2020-04-04 10:12:47 -07:00