]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
kvm: x86: Toggling CR4.SMAP does not load PDPTEs in PAE mode
authorJim Mattson <jmattson@google.com>
Mon, 17 Aug 2020 18:16:55 +0000 (11:16 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Aug 2020 08:41:03 +0000 (10:41 +0200)
commit46713f3d61b3d1779981ffa29cf8e8a348bf7cb6
treecf29c4e08c27ca994c5a1b658fcad75729eab44a
parent667a59aa55fb3204cb92ae74e34f5504d69bbefa
kvm: x86: Toggling CR4.SMAP does not load PDPTEs in PAE mode

[ Upstream commit 427890aff8558eb4326e723835e0eae0e6fe3102 ]

See the SDM, volume 3, section 4.4.1:

If PAE paging would be in use following an execution of MOV to CR0 or
MOV to CR4 (see Section 4.1.1) and the instruction is modifying any of
CR0.CD, CR0.NW, CR0.PG, CR4.PAE, CR4.PGE, CR4.PSE, or CR4.SMEP; then
the PDPTEs are loaded from the address in CR3.

Fixes: 0be0226f07d14 ("KVM: MMU: fix SMAP virtualization")
Cc: Xiao Guangrong <guangrong.xiao@linux.intel.com>
Signed-off-by: Jim Mattson <jmattson@google.com>
Reviewed-by: Peter Shier <pshier@google.com>
Reviewed-by: Oliver Upton <oupton@google.com>
Message-Id: <20200817181655.3716509-2-jmattson@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/x86/kvm/x86.c