arm64: kprobes: Let arch do_page_fault() fix up page fault in user handler
authorMasami Hiramatsu (Google) <mhiramat@kernel.org>
Fri, 2 Dec 2022 02:18:42 +0000 (11:18 +0900)
committerWill Deacon <will@kernel.org>
Mon, 5 Dec 2022 14:20:08 +0000 (14:20 +0000)
Since arm64's do_page_fault() can handle the page fault correctly
than kprobe_fault_handler() according to the context, let it handle
the page fault instead of simply call fixup_exception() in the
kprobe_fault_handler().

Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/166994752269.439920.4801339965959400456.stgit@devnote3
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/probes/kprobes.c

index c9e4d072028561d8b0730a8da68f193ad14197ee..d2ae37f8977410b83a5d4eb3e179f779e7a04645 100644 (file)
@@ -294,14 +294,6 @@ int __kprobes kprobe_fault_handler(struct pt_regs *regs, unsigned int fsr)
                }
 
                break;
-       case KPROBE_HIT_ACTIVE:
-       case KPROBE_HIT_SSDONE:
-               /*
-                * In case the user-specified fault handler returned
-                * zero, try to fix up.
-                */
-               if (fixup_exception(regs))
-                       return 1;
        }
        return 0;
 }