On Tue, 26 Jan 2021 21:20:59 +0100 Oleg Nesterov <o...@redhat.com> 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 <mhira...@kernel.org>