linux-stable/arch
Sean Christopherson e389e927e8 KVM: nVMX: Set UMIP bit CR4_FIXED1 MSR when emulating UMIP
[ Upstream commit a910b5ab6b ]

Make UMIP an "allowed-1" bit CR4_FIXED1 MSR when KVM is emulating UMIP.
KVM emulates UMIP for both L1 and L2, and so should enumerate that L2 is
allowed to have CR4.UMIP=1.  Not setting the bit doesn't immediately
break nVMX, as KVM does set/clear the bit in CR4_FIXED1 in response to a
guest CPUID update, i.e. KVM will correctly (dis)allow nested VM-Entry
based on whether or not UMIP is exposed to L1.  That said, KVM should
enumerate the bit as being allowed from time zero, e.g. userspace will
see the wrong value if the MSR is read before CPUID is written.

Fixes: 0367f205a3 ("KVM: vmx: add support for emulating UMIP")
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20220607213604.3346000-12-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-08-17 14:23:58 +02:00
..
alpha tty: the rest, stop using tty_schedule_flip() 2022-07-29 17:25:32 +02:00
arc
arm ARM: dts: qcom: pm8841: add required thermal-sensor-cells 2022-08-17 14:23:10 +02:00
arm64 KVM: arm64: Don't return from void function 2022-08-17 14:23:49 +02:00
csky csky: patch_text: Fixup last cpu should be master 2022-06-09 10:23:26 +02:00
h8300
hexagon
ia64 ia64, processor: fix -Wincompatible-pointer-types in ia64_get_irr() 2022-08-17 14:22:57 +02:00
m68k m68knommu: fix undefined reference to `mach_get_rtc_pll' 2022-06-14 18:36:15 +02:00
microblaze
mips MIPS: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK 2022-08-17 14:22:58 +02:00
nds32
nios2
openrisc openrisc: start CPU timer early in boot 2022-06-09 10:22:38 +02:00
parisc parisc: io_pgetevents_time64() needs compat syscall in 32-bit compat mode 2022-08-17 14:22:52 +02:00
powerpc powerpc/64s: Disable stack variable initialisation for prom_init 2022-08-17 14:23:05 +02:00
riscv RISC-V: Add modules to virtual kernel memory layout dump 2022-08-17 14:22:52 +02:00
s390 KVM: s390: pv: leak the topmost page table when destroy fails 2022-08-17 14:23:51 +02:00
sh sh: convert nommu io{re,un}map() to static inline functions 2022-07-21 21:24:14 +02:00
sparc signal: Deliver SIGTRAP on perf event asynchronously if blocked 2022-06-09 10:22:48 +02:00
um um: random: Don't initialise hwrng struct with zero 2022-08-17 14:23:53 +02:00
x86 KVM: nVMX: Set UMIP bit CR4_FIXED1 MSR when emulating UMIP 2022-08-17 14:23:58 +02:00
xtensa xtensa: iss: fix handling error cases in iss_net_configure() 2022-08-17 14:23:52 +02:00
.gitignore
Kconfig arch: make TRACE_IRQFLAGS_NMI_SUPPORT generic 2022-08-17 14:23:00 +02:00