Hi Jiri Kosina,
First of all, sorry for my late response..
On 12/01/2017 05:21 PM, Jiri Kosina wrote:
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).
I got it, briefly understood that.
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.
OK, it seems that I need to dig the details..
After I look into this problematics based on your comment,
will resend doc-patch or question mail to you :)
Thanks for your detailed comment,
Taeung
--
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