x86,kprobes: WARN if kprobes tries to handle a fault
authorPeter Zijlstra <peterz@infradead.org>
Tue, 25 May 2021 07:25:20 +0000 (09:25 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 1 Jun 2021 14:00:09 +0000 (16:00 +0200)
With the removal of kprobe::handle_fault there is no reason left that
kprobe_page_fault() would ever return true on x86, make sure it
doesn't happen by accident.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Link: https://lore.kernel.org/r/20210525073213.660594073@infradead.org
arch/x86/mm/fault.c

index 1c548ad..362255b 100644 (file)
@@ -1186,7 +1186,7 @@ do_kern_addr_fault(struct pt_regs *regs, unsigned long hw_error_code,
                return;
 
        /* kprobes don't want to hook the spurious faults: */
-       if (kprobe_page_fault(regs, X86_TRAP_PF))
+       if (WARN_ON_ONCE(kprobe_page_fault(regs, X86_TRAP_PF)))
                return;
 
        /*
@@ -1239,7 +1239,7 @@ void do_user_addr_fault(struct pt_regs *regs,
        }
 
        /* kprobes don't want to hook the spurious faults: */
-       if (unlikely(kprobe_page_fault(regs, X86_TRAP_PF)))
+       if (WARN_ON_ONCE(kprobe_page_fault(regs, X86_TRAP_PF)))
                return;
 
        /*