Re: [PATCH] jprobes: Ensure that the probepoint is at function entry

From: Ingo Molnar
Date: Thu Jul 06 2017 - 08:16:33 EST


* Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

> > Also, 'function_offset_within_entry' is way too long a name, and it's also a
> > minomer I think. The purpose of this function is to enforce that the relative
> > 'offset' of a new probe is at the standard function entry offset: i.e. 0 on most
> > architectures, and some ABI dependent constant on PowerPC, right?
> >
> > That's not at all clear from that name, plus it's a global namespace symbol, yet
> > has no 'kprobes' prefix. So it should be named something like
> > 'kprobe_offset_valid()' or such, with an arch_kprobe_offset_valid() counterpart.
>
> Hmm, I would rather like kprobe_within_entry(), since offset != 0 is
> actually valid for normal kprobe, that is kretprobe and jprobe limitation.

But what entry? That it's within a range or that offset is always 0 is really an
implementational detail: depending on what type of kprobe it is, it is either
validly within the confines of the specified function symbol or not.

What _really_ matters to callers is whether it's a valid kprobe to be inserted
into that function, right?

I.e. the long name came from over-specifying what is done by the function - while
simplifying makes it actually more meaningful to read.

Thanks,

Ingo