lkml.org 
[lkml]   [2019]   [Jan]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 2/3] arm64: kprobes: Remove unneeded RODATA check
    From
    Date
    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 */
    >

    \
     
     \ /
      Last update: 2019-01-03 18:08    [W:3.207 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site