Add page fault trace points, which are useful to implement RV monitor which watches page faults.
Signed-off-by: Nam Cao <[email protected]> --- Cc: Catalin Marinas <[email protected]> Cc: Will Deacon <[email protected]> Cc: [email protected] --- arch/arm64/mm/fault.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c index ec0a337891dd..d917556869f9 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c @@ -44,6 +44,9 @@ #include <asm/tlbflush.h> #include <asm/traps.h> +#define CREATE_TRACE_POINTS +#include <trace/events/exceptions.h> + struct fault_info { int (*fn)(unsigned long far, unsigned long esr, struct pt_regs *regs); @@ -556,6 +559,11 @@ static int __kprobes do_page_fault(unsigned long far, unsigned long esr, int si_code; int pkey = -1; + if (user_mode(regs)) + trace_page_fault_user(addr, regs, esr); + else + trace_page_fault_kernel(addr, regs, esr); + if (kprobe_page_fault(regs, esr)) return 0; -- 2.39.5
