2021-03-29 18:20:08

by Jisheng Zhang

[permalink] [raw]
Subject: [PATCH] riscv: add do_page_fault and do_trap_break into the kprobes blacklist

From: Jisheng Zhang <[email protected]>

These two functions are used to implement the kprobes feature so they
can't be kprobed.

Fixes: c22b0bcb1dd0 ("riscv: Add kprobes supported")
Signed-off-by: Jisheng Zhang <[email protected]>
---
arch/riscv/kernel/traps.c | 1 +
arch/riscv/mm/fault.c | 1 +
2 files changed, 2 insertions(+)

diff --git a/arch/riscv/kernel/traps.c b/arch/riscv/kernel/traps.c
index 0879b5df11b9..1357abf79570 100644
--- a/arch/riscv/kernel/traps.c
+++ b/arch/riscv/kernel/traps.c
@@ -178,6 +178,7 @@ asmlinkage __visible void do_trap_break(struct pt_regs *regs)
else
die(regs, "Kernel BUG");
}
+NOKPROBE_SYMBOL(do_trap_break);

#ifdef CONFIG_GENERIC_BUG
int is_valid_bugaddr(unsigned long pc)
diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c
index 8f17519208c7..c5dbd55cbf7c 100644
--- a/arch/riscv/mm/fault.c
+++ b/arch/riscv/mm/fault.c
@@ -328,3 +328,4 @@ asmlinkage void do_page_fault(struct pt_regs *regs)
}
return;
}
+NOKPROBE_SYMBOL(do_page_fault);
--
2.31.0



2021-03-30 09:24:39

by Masami Hiramatsu

[permalink] [raw]
Subject: Re: [PATCH] riscv: add do_page_fault and do_trap_break into the kprobes blacklist

On Tue, 30 Mar 2021 02:12:26 +0800
Jisheng Zhang <[email protected]> wrote:

> From: Jisheng Zhang <[email protected]>
>
> These two functions are used to implement the kprobes feature so they
> can't be kprobed.
>

Looks good to me.

Reviewed-by: Masami Hiramatsu <[email protected]>

Thanks,

> Fixes: c22b0bcb1dd0 ("riscv: Add kprobes supported")
> Signed-off-by: Jisheng Zhang <[email protected]>
> ---
> arch/riscv/kernel/traps.c | 1 +
> arch/riscv/mm/fault.c | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/arch/riscv/kernel/traps.c b/arch/riscv/kernel/traps.c
> index 0879b5df11b9..1357abf79570 100644
> --- a/arch/riscv/kernel/traps.c
> +++ b/arch/riscv/kernel/traps.c
> @@ -178,6 +178,7 @@ asmlinkage __visible void do_trap_break(struct pt_regs *regs)
> else
> die(regs, "Kernel BUG");
> }
> +NOKPROBE_SYMBOL(do_trap_break);
>
> #ifdef CONFIG_GENERIC_BUG
> int is_valid_bugaddr(unsigned long pc)
> diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c
> index 8f17519208c7..c5dbd55cbf7c 100644
> --- a/arch/riscv/mm/fault.c
> +++ b/arch/riscv/mm/fault.c
> @@ -328,3 +328,4 @@ asmlinkage void do_page_fault(struct pt_regs *regs)
> }
> return;
> }
> +NOKPROBE_SYMBOL(do_page_fault);
> --
> 2.31.0
>
>


--
Masami Hiramatsu <[email protected]>

2021-04-12 01:12:08

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH] riscv: add do_page_fault and do_trap_break into the kprobes blacklist

On Mon, 29 Mar 2021 11:12:26 PDT (-0700), [email protected] wrote:
> From: Jisheng Zhang <[email protected]>
>
> These two functions are used to implement the kprobes feature so they
> can't be kprobed.
>
> Fixes: c22b0bcb1dd0 ("riscv: Add kprobes supported")
> Signed-off-by: Jisheng Zhang <[email protected]>
> ---
> arch/riscv/kernel/traps.c | 1 +
> arch/riscv/mm/fault.c | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/arch/riscv/kernel/traps.c b/arch/riscv/kernel/traps.c
> index 0879b5df11b9..1357abf79570 100644
> --- a/arch/riscv/kernel/traps.c
> +++ b/arch/riscv/kernel/traps.c
> @@ -178,6 +178,7 @@ asmlinkage __visible void do_trap_break(struct pt_regs *regs)
> else
> die(regs, "Kernel BUG");
> }
> +NOKPROBE_SYMBOL(do_trap_break);
>
> #ifdef CONFIG_GENERIC_BUG
> int is_valid_bugaddr(unsigned long pc)
> diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c
> index 8f17519208c7..c5dbd55cbf7c 100644
> --- a/arch/riscv/mm/fault.c
> +++ b/arch/riscv/mm/fault.c
> @@ -328,3 +328,4 @@ asmlinkage void do_page_fault(struct pt_regs *regs)
> }
> return;
> }
> +NOKPROBE_SYMBOL(do_page_fault);

Thanks, this is on fixes.