Messages in this thread | | | Subject | Re: [PATCH 2/3] arm64: kprobes: Remove unneeded RODATA check | From | James Morse <> | Date | Thu, 3 Jan 2019 17:07:22 +0000 |
| |
Hi!
On 17/12/2018 06:41, 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.
So it does!
Reviewed-by: James Morse <james.morse@arm.com>
Thanks
James
> 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 */ >
| |