Re: [PATCH v3] tracing: precise log info for kretprobe addr err
From: Masami Hiramatsu
Date: Wed Jan 27 2021 - 01:17:19 EST
On Tue, 26 Jan 2021 21:20:59 +0100
Oleg Nesterov <oleg@xxxxxxxxxx> wrote:
> On 01/26, Masami Hiramatsu wrote:
> >
> > > >
> > > > IOW, the "offset != 0" check removed by this patch is obviously wrong, right?
> > > >
> >
> > No, not wrong. Even offset != 0, if the symbol exists in the kernel,
> > kprobe_on_func_entry() will check it.
>
> Yes, but unless I am totally confused... if kprobe_on_func_entry() returns false,
> then trace_kprobe_create() should fail with BAD_RETPROBE even if offset == 0 ?
Yes, if kprobe_on_func_entry() returns false, register_kretprobe() also returns
an error.
-----
int register_kretprobe(struct kretprobe *rp)
{
int ret = 0;
struct kretprobe_instance *inst;
int i;
void *addr;
if (!kprobe_on_func_entry(rp->kp.addr, rp->kp.symbol_name, rp->kp.offset))
return -EINVAL;
-----
Thank you,
--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>