KVM: MMU: fix SMAP virtualization

commit 0be0226f07 upstream.

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>
[ luis: backported to 3.16: adjusted context ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
This commit is contained in:
Xiao Guangrong 2015-05-11 22:55:21 +08:00 • committed by Luis Henriques
commit f1c43caf6f
5 changed files with 30 additions and 15 deletions