On Mon, 19 Aug 2019 22:13:02 +0530 "Naveen N. Rao" wrote: > CAUTION: Email originated externally, do not click links or open attachments > unless you recognize the sender and know the content is safe. > > > Jisheng Zhang wrote: > > For KPROBES_ON_FTRACE case, we need to adjust the kprobe's addr > > correspondingly. > > > > Signed-off-by: Jisheng Zhang <jisheng.zh...@synaptics.com> > > --- > > kernel/kprobes.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/kernel/kprobes.c b/kernel/kprobes.c > > index 9873fc627d61..f8400753a8a9 100644 > > --- a/kernel/kprobes.c > > +++ b/kernel/kprobes.c > > @@ -1560,6 +1560,9 @@ int register_kprobe(struct kprobe *p) > > addr = kprobe_addr(p); > > if (IS_ERR(addr)) > > return PTR_ERR(addr); > > +#ifdef CONFIG_KPROBES_ON_FTRACE > > + addr = (kprobe_opcode_t *)ftrace_call_adjust((unsigned long)addr); > > +#endif > > p->addr = addr; > > I'm not sure what this is achieving, but looks wrong to me.
Indeed, I didn't take care of non-ftrace addr when KPROBES_ON_FTRACE, will update in next version. thanks > > If you intend to have kprobes default to using ftrace entry for probing > functions, consider over-riding kprobe_lookup_name() -- see powerpc > variant for example. > > > - Naveen >