Use symbolic value, EPT_VIOLATION_*, instead of 0x7 in FNAME(walk_addr_generic)(). Signed-off-by: SU Hang <darcy.sh@xxxxxxxxxxxx> --- arch/x86/kvm/mmu/paging_tmpl.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/mmu/paging_tmpl.h b/arch/x86/kvm/mmu/paging_tmpl.h index 7853c7ef13a1..2e2b1f7ccaca 100644 --- a/arch/x86/kvm/mmu/paging_tmpl.h +++ b/arch/x86/kvm/mmu/paging_tmpl.h @@ -531,7 +531,12 @@ static int FNAME(walk_addr_generic)(struct guest_walker *walker, vcpu->arch.exit_qualification |= EPT_VIOLATION_ACC_READ; if (fetch_fault) vcpu->arch.exit_qualification |= EPT_VIOLATION_ACC_INSTR; - vcpu->arch.exit_qualification |= (pte_access & 0x7) << 3; + if (pte_access & ACC_USER_MASK) + vcpu->arch.exit_qualification |= EPT_VIOLATION_READABLE; + if (pte_access & ACC_WRITE_MASK) + vcpu->arch.exit_qualification |= EPT_VIOLATION_WRITABLE; + if (pte_access & ACC_EXEC_MASK) + vcpu->arch.exit_qualification |= EPT_VIOLATION_EXECUTABLE; } #endif walker->fault.address = addr; -- 2.32.0.3.g01195cf9f