lkml.org 
[lkml]   [2021]   [Feb]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [GIT PULL] x86/urgent for v5.11-rc7
On Mon, Feb 08, 2021 at 09:33:00AM -0600, Josh Poimboeuf wrote:
> On Mon, Feb 08, 2021 at 10:02:06AM -0500, Steven Rostedt wrote:
> > On Sun, 7 Feb 2021 16:45:40 -0600
> > Josh Poimboeuf <jpoimboe@redhat.com> wrote:
> >
> > > > I do suspect involved people should start thinking about how they want
> > > > to deal with functions starting with
> > > >
> > > > endbr64
> > > > call __fentry__
> > > >
> > > > instead of the call being at the very top of the function.
> > >
> > > FWIW, objtool's already fine with it (otherwise we would have discovered
> > > the need to disable fcf-protection much sooner).
> >
> > And this doesn't really affect tracing (note, another user that might be
> > affected is live kernel patching).
>
> Good point, livepatch is indeed affected. Is there a better way to get
> the "call __fentry__" address for a given function?
>
>
> /*
> * Convert a function address into the appropriate ftrace location.
> *
> * Usually this is just the address of the function, but on some architectures
> * it's more complicated so allow them to provide a custom behaviour.
> */
> #ifndef klp_get_ftrace_location
> static unsigned long klp_get_ftrace_location(unsigned long faddr)
> {
> return faddr;
> }
> #endif

I suppose the trivial fix is to see if it points to endbr64 and if so,
increment the addr by the length of that.

\
 
 \ /
  Last update: 2021-02-08 19:26    [W:0.225 / U:1.484 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site