The P bit of page fault error code is missed in this tracepoint, fix it by
passing the full error code

Signed-off-by: Xiao Guangrong <xiaoguangr...@linux.vnet.ibm.com>
---
 arch/x86/kvm/mmutrace.h    |    7 +++----
 arch/x86/kvm/paging_tmpl.h |    3 +--
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kvm/mmutrace.h b/arch/x86/kvm/mmutrace.h
index c364abc..cd6e983 100644
--- a/arch/x86/kvm/mmutrace.h
+++ b/arch/x86/kvm/mmutrace.h
@@ -54,8 +54,8 @@
  */
 TRACE_EVENT(
        kvm_mmu_pagetable_walk,
-       TP_PROTO(u64 addr, int write_fault, int user_fault, int fetch_fault),
-       TP_ARGS(addr, write_fault, user_fault, fetch_fault),
+       TP_PROTO(u64 addr, u32 pferr),
+       TP_ARGS(addr, pferr),

        TP_STRUCT__entry(
                __field(__u64, addr)
@@ -64,8 +64,7 @@ TRACE_EVENT(

        TP_fast_assign(
                __entry->addr = addr;
-               __entry->pferr = (!!write_fault << 1) | (!!user_fault << 2)
-                                | (!!fetch_fault << 4);
+               __entry->pferr = pferr;
        ),

        TP_printk("addr %llx pferr %x %s", __entry->addr, __entry->pferr,
diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h
index 34f9709..bb7cf01 100644
--- a/arch/x86/kvm/paging_tmpl.h
+++ b/arch/x86/kvm/paging_tmpl.h
@@ -154,8 +154,7 @@ static int FNAME(walk_addr_generic)(struct guest_walker 
*walker,
        const int fetch_fault = access & PFERR_FETCH_MASK;
        u16 errcode = 0;

-       trace_kvm_mmu_pagetable_walk(addr, write_fault, user_fault,
-                                    fetch_fault);
+       trace_kvm_mmu_pagetable_walk(addr, access);
 retry_walk:
        eperm = false;
        walker->level = mmu->root_level;
-- 
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to