KVM: MMU: fix SMAP virtualization
authorXiao Guangrong <guangrong.xiao@linux.intel.com>
Mon, 11 May 2015 14:55:21 +0000 (22:55 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 19 May 2015 18:52:36 +0000 (20:52 +0200)
commitedc90b7dc4ceef62ef0ad9cc6c3f5dc770e83ad2
tree36a2ab127ab4f6a01fc33190abf3e06682f6ceba
parent428e3d08574b77876ea5e71f294f91bd8afa51b5
KVM: MMU: fix SMAP virtualization

KVM may turn a user page to a kernel page when kernel writes a readonly
user page if CR0.WP = 1. This shadow page entry will be reused after
SMAP is enabled so that kernel is allowed to access this user page

Fix it by setting SMAP && !CR0.WP into shadow page's role and reset mmu
once CR4.SMAP is updated

Signed-off-by: Xiao Guangrong <guangrong.xiao@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Documentation/virtual/kvm/mmu.txt
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/mmu.c
arch/x86/kvm/mmu.h
arch/x86/kvm/x86.c