lkml.org 
[lkml]   [2015]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[PATCH 0/3] ftrace/kprobes/x86:

Vasily Averin reported that combining jprobes with function tracing
resulted in a kernel crash.

I first thought this was related to the fentry code and wrote up a few
nice (albeit complex) patches that could handle it. But then during my
testing I discovered that it also affected non fentry code and i386.
I had to revert all my changes and just disable function graph tracing
before the jprobe is called, and re-enable it afterward. This seems
to be the easiest fix, although if fentry is enabled, we lose the
tracing of the function that was being probed. But since it would have
crashed otherwise, this solution is a major improvement.

While debugging this I also uncovered some other bugs in the function
graph trampoline logic. Nothing too major, but worthy enough to be fixed
now and sent to stable.

I can still use the patches I have done for fentry to let the probed
function be traced (as well as the jprobe handlers) if fentry is being
used. But that is something for the next merge window and not needed now.

Steven Rostedt (Red Hat) (3):
ftrace: Fix updating of filters for shared global_ops filters
ftrace: Check both notrace and filter for old hash
ftrace/jprobes/x86: Fix conflict between jprobes and function graph tracing

----
arch/x86/kernel/kprobes/core.c | 20 ++++++++++++----
kernel/trace/ftrace.c | 53 +++++++++++++++++++++++++++++++++++-------
2 files changed, 60 insertions(+), 13 deletions(-)


\
 
 \ /
  Last update: 2015-01-14 17:21    [W:0.106 / U:0.544 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site