On Tue, Jan 15, 2019 at 03:24:36PM +0900, Masami Hiramatsu wrote:
> Remove unneeded RODATA check from arch_prepare_kprobe().
> 
> Since check_kprobe_address_safe() already ensured that
> the probe address is in kernel text, we don't need to
> check whether the address in RODATA or not. That must
> be always false.
> 
> Signed-off-by: Masami Hiramatsu <mhira...@kernel.org>

Reviewed-by: Mark Rutland <mark.rutl...@arm.com>

Mark.

> ---
>  arch/arm64/kernel/probes/kprobes.c |    6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/arch/arm64/kernel/probes/kprobes.c 
> b/arch/arm64/kernel/probes/kprobes.c
> index b2d4b7428ebc..1dae500d0a81 100644
> --- a/arch/arm64/kernel/probes/kprobes.c
> +++ b/arch/arm64/kernel/probes/kprobes.c
> @@ -91,8 +91,6 @@ static void __kprobes arch_simulate_insn(struct kprobe *p, 
> struct pt_regs *regs)
>  int __kprobes arch_prepare_kprobe(struct kprobe *p)
>  {
>       unsigned long probe_addr = (unsigned long)p->addr;
> -     extern char __start_rodata[];
> -     extern char __end_rodata[];
>  
>       if (probe_addr & 0x3)
>               return -EINVAL;
> @@ -106,10 +104,6 @@ int __kprobes arch_prepare_kprobe(struct kprobe *p)
>       if (search_exception_tables(probe_addr))
>               return -EINVAL;
>  
> -     if (probe_addr >= (unsigned long) __start_rodata &&
> -         probe_addr <= (unsigned long) __end_rodata)
> -             return -EINVAL;
> -
>       /* decode instruction */
>       switch (arm_kprobe_decode_insn(p->addr, &p->ainsn)) {
>       case INSN_REJECTED:     /* insn not supported */
> 

Reply via email to