lkml.org 
[lkml]   [2018]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/8] livepatch: Add atomic replace
> > +	 * see klp_init_object_loaded().
> > + */
> > + if (!func->new_func && !func->nop)
> > return -EINVAL;
>
> >
> > INIT_LIST_HEAD(&func->stack_node);
> > @@ -742,6 +920,9 @@ static int klp_init_object_loaded(struct klp_patch *patch,
> > return -ENOENT;
> > }
> >
> > + if (func->nop)
> > + func->new_func = (void *)func->old_addr;
> > +
>
> These changes make it more obvious that 'new_func' isn't quite the right
> name. It should really be 'new_addr' IMO.

I think we wanted to point out the difference from old_addr which is
initialized with the symbol name while new_func is initialized with the
new function itself (function pointer). I agree though that it looks
awkward in this context and I'm not against changing it to new_addr.

Petr, could you also add a note to the changelog why we need to setup
new_func for nop functions, please? It's not obvious because of the hack
in klp_ftrace_handler()
(klp_cancel_transition()->...->klp_check_stack_func() needs it).

Miroslav

\
 
 \ /
  Last update: 2018-04-09 15:53    [W:0.100 / U:0.576 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site