linux-stable/arch
Sean Christopherson 11dd239ba4 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:41:54 +02:00
..
alpha alpha: fix alloc_zeroed_user_highpage_movable() 2022-06-09 10:29:51 +02:00
arc ARC: remove redundant READ_ONCE() in cmpxchg loop 2022-04-18 14:47:05 -07:00
arm ARM: dts: qcom: msm8974: Disable remoteprocs by default 2022-08-17 14:40:40 +02:00
arm64 KVM: arm64: Don't return from void function 2022-08-17 14:41:44 +02:00
csky csky: patch_text: Fixup last cpu should be master 2022-06-09 10:30:50 +02:00
h8300 Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2022-04-01 19:57:03 -07:00
hexagon ptrace: Cleanups for v5.18 2022-03-28 17:29:53 -07:00
ia64 ia64: fix typos in comments 2022-08-17 14:40:35 +02:00
m68k m68knommu: fix undefined reference to `mach_get_rtc_pll' 2022-06-14 18:45:03 +02:00
microblaze Kbuild updates for v5.18 2022-03-31 11:59:03 -07:00
mips MIPS: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK 2022-08-17 14:40:18 +02:00
nios2 nios2: use fallback for random_get_entropy() instead of zero 2022-05-30 09:24:05 +02:00
openrisc openrisc: start CPU timer early in boot 2022-06-09 10:29:44 +02:00
parisc parisc: io_pgetevents_time64() needs compat syscall in 32-bit compat mode 2022-08-17 14:40:09 +02:00
powerpc powerpc/64s: Disable stack variable initialisation for prom_init 2022-08-17 14:40:27 +02:00
riscv RISC-V: Add modules to virtual kernel memory layout dump 2022-08-17 14:40:11 +02:00
s390 KVM: s390: pv: leak the topmost page table when destroy fails 2022-08-17 14:41:47 +02:00
sh sh: convert nommu io{re,un}map() to static inline functions 2022-07-22 10:21:22 +02:00
sparc signal: Deliver SIGTRAP on perf event asynchronously if blocked 2022-06-09 10:30:00 +02:00
um um: random: Don't initialise hwrng struct with zero 2022-08-17 14:41:49 +02:00
x86 KVM: nVMX: Set UMIP bit CR4_FIXED1 MSR when emulating UMIP 2022-08-17 14:41:54 +02:00
xtensa xtensa: iss: fix handling error cases in iss_net_configure() 2022-08-17 14:41:47 +02:00
.gitignore
Kconfig arch: make TRACE_IRQFLAGS_NMI_SUPPORT generic 2022-08-17 14:40:20 +02:00