]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: nVMX: fix EPT permissions as reported in exit qualification
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 11 May 2017 11:23:29 +0000 (13:23 +0200)
committerRadim Krčmář <rkrcmar@redhat.com>
Mon, 15 May 2017 16:22:40 +0000 (18:22 +0200)
commit3e89b22cae9e60a850b20b47256f50f7215715a3
tree229ce5f517835cdc192664ea8a14cb4b6a779336
parent9599f107ae9ac474eaba210be143e9a4520dc903
KVM: nVMX: fix EPT permissions as reported in exit qualification

This fixes the new ept_access_test_read_only and ept_access_test_read_write
testcases from vmx.flat.

The problem is that gpte_access moves bits around to switch from EPT
bit order (XWR) to ACC_*_MASK bit order (RWX).  This results in an
incorrect exit qualification.  To fix this, make pt_access and
pte_access operate on raw PTE values (only with NX flipped to mean
"can execute") and call gpte_access at the end of the walk.  This
lets us use pte_access to compute the exit qualification with XWR
bit order.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Xiao Guangrong <xiaoguangrong@tencent.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
arch/x86/kvm/paging_tmpl.h