Re: [PATCH v2 12/39] x86/ibt,ftrace: Search for __fentry__ location
From: Masami Hiramatsu
Date: Fri Feb 25 2022 - 05:20:23 EST
On Thu, 24 Feb 2022 21:19:19 -0500
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> On Fri, 25 Feb 2022 10:34:49 +0900
> Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:
>
> > > > > + if (!rec) {
> > > > > + if (!kallsyms_lookup_size_offset(ip, &size, &offset))
> > > > > + goto out;
> > > > > +
> > > > > + if (!offset)
> > > >
> > > > Isn't this 'if (offset)' ?
> > >
> > > No, the point to only look for the fentry location if the ip passed in
> > > points to the start of the function. IOW, +0 offset.
> >
> > OK, so this means ftrace_location() will be same as
> > ftrace_location_range(sym, sym_end) ?
>
> No. It only acts like ftrace_location_range(sym, sym_end) if the passed
> in argument is the ip of the function (kallsyms returns offset = 0)
Got it. So now ftrace_location() will return the ftrace address
when the ip == func or ip == mcount-call.
Thank you,
--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>