2019-06-21 16:10:29

by Anshuman Khandual

[permalink] [raw]
Subject: [PATCH] mips/kprobes: Export kprobe_fault_handler()

Generic kprobe_page_fault() calls into kprobe_fault_handler() which must be
available with and without CONFIG_KPROBES. There is one stub implementation
for !CONFIG_KPROBES. For CONFIG_KPROBES all subscribing archs must provide
a kprobe_fault_handler() definition. Currently mips has an implementation
which is defined as 'static inline'. Make it available for generic kprobes
to comply with the above new requirement.

Cc: Ralf Baechle <[email protected]>
Cc: Paul Burton <[email protected]>
Cc: James Hogan <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: [email protected]
Cc: [email protected]

Reported-by: kbuild test robot <[email protected]>
Signed-off-by: Anshuman Khandual <[email protected]>
---
arch/mips/include/asm/kprobes.h | 1 +
arch/mips/kernel/kprobes.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/mips/include/asm/kprobes.h b/arch/mips/include/asm/kprobes.h
index 3cf8e4d..68b1e5d 100644
--- a/arch/mips/include/asm/kprobes.h
+++ b/arch/mips/include/asm/kprobes.h
@@ -41,6 +41,7 @@ do { \
#define kretprobe_blacklist_size 0

void arch_remove_kprobe(struct kprobe *p);
+int kprobe_fault_handler(struct pt_regs *regs, int trapnr);

/* Architecture specific copy of original instruction*/
struct arch_specific_insn {
diff --git a/arch/mips/kernel/kprobes.c b/arch/mips/kernel/kprobes.c
index 81ba1d3..6cfae24 100644
--- a/arch/mips/kernel/kprobes.c
+++ b/arch/mips/kernel/kprobes.c
@@ -398,7 +398,7 @@ static inline int post_kprobe_handler(struct pt_regs *regs)
return 1;
}

-static inline int kprobe_fault_handler(struct pt_regs *regs, int trapnr)
+int kprobe_fault_handler(struct pt_regs *regs, int trapnr)
{
struct kprobe *cur = kprobe_running();
struct kprobe_ctlblk *kcb = get_kprobe_ctlblk();
--
2.7.4


2019-07-15 11:21:03

by Paul Burton

[permalink] [raw]
Subject: Re: [PATCH] mips/kprobes: Export kprobe_fault_handler()

Hello,

Anshuman Khandual wrote:
> Generic kprobe_page_fault() calls into kprobe_fault_handler() which must be
> available with and without CONFIG_KPROBES. There is one stub implementation
> for !CONFIG_KPROBES. For CONFIG_KPROBES all subscribing archs must provide
> a kprobe_fault_handler() definition. Currently mips has an implementation
> which is defined as 'static inline'. Make it available for generic kprobes
> to comply with the above new requirement.
>
> Cc: Ralf Baechle <[email protected]>
> Cc: Paul Burton <[email protected]>
> Cc: James Hogan <[email protected]>
> Cc: Andrew Morton <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
>
> Reported-by: kbuild test robot <[email protected]>
> Signed-off-by: Anshuman Khandual <[email protected]>

Applied to mips-next.

Thanks,
Paul

[ This message was auto-generated; if you believe anything is incorrect
then please email [email protected] to report it. ]