On Fri, 1 Dec 2017, Taeung Song wrote: > Livepatch is based on the dynamic ftrace, > so functions that can be traced could be patched. > > Inlined functions aren't traced by the function tracer. > Even if CONFIG_OPTIMIZE_INLINING is set, they aren't traced > because of marked with "notrace". We can see it from the commit > 45959ee7aa6 ("ftrace: Do not function trace inlined functions") > > Cc: Jiri Kosina <jkosina@xxxxxxx> > Cc: Jessica Yu <jeyu@xxxxxxxxxx> > Cc: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> > Cc: Miroslav Benes <mbenes@xxxxxxx> > Cc: Petr Mladek <pmladek@xxxxxxxx> > Signed-off-by: Taeung Song <treeze.taeung@xxxxxxxxx> > --- > Documentation/livepatch/livepatch.txt | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/Documentation/livepatch/livepatch.txt b/Documentation/livepatch/livepatch.txt > index ecdb181..65f784a 100644 > --- a/Documentation/livepatch/livepatch.txt > +++ b/Documentation/livepatch/livepatch.txt > @@ -475,6 +475,9 @@ The current Livepatch implementation has several limitations: > potential mistake is prevented by marking the problematic functions > by "notrace". > > + Besides, inlined functions could not be patched. Because they are I think the "could not be patched" is a little bit strong wording and might be confusing. They can in fact be patched by patching all the functions it got inlined into. kpatch-build basically "detects" this automatically, other aproaches have to find their ways around it (inspecting debuginfo, dumping IPA clones from gcc and inspecting those, etc). So in case you'd like to cover this problematics in the Documentation (which I think shoule be done, thanks for bringing it up), then we'd probably have to provide a little bit more details. Thanks, -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe live-patching" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html