[PATCH 0/2] [GIT PULL] tracing: Two urgent fixes
From: Steven Rostedt
Date: Sat Feb 15 2014 - 08:22:38 EST
Linus,
Two fixes in the tracing utility.
The first is a fix for the way the ring buffer stores timestamps.
After a restructure of the code was done, the ring buffer timestamp
logic missed the fact that the first event on a sub buffer is to have
a zero delta, as the full timestamp is stored on the sub buffer itself.
But because the delta was not cleared to zero, the timestamp for that
event will be calculated as the real timestamp + the delta from the
last timestamp. This can skew the timestamps of the events and
have them say they happened when they didn't really happen. That's bad.
The second fix is for modifying the function graph caller site.
When the stop machine was removed from updating the function tracing
code, it missed updating the function graph call site location.
It is still modified as if it is being done via stop machine. But it's not.
This can lead to a GPF and kernel crash if the function graph call site
happens to lie between cache lines and one CPU is executing it while
another CPU is doing the update. It would be a very hard condition to
hit, but the result is sever enough to have it fixed ASAP.
Please pull the latest trace-fixes-v3.14-rc2 tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
trace-fixes-v3.14-rc2
Tag SHA1: 390f3e6a6f910b3aea1cef47b9339b99d7f3576f
Head SHA1: 87fbb2ac6073a7039303517546a76074feb14c84
Steven Rostedt (Red Hat) (2):
ring-buffer: Fix first commit on sub-buffer having non-zero delta
ftrace/x86: Use breakpoints for converting function graph caller
----
arch/x86/kernel/ftrace.c | 83 ++++++++++++++++++++++++++--------------------
kernel/trace/ring_buffer.c | 7 ++++
2 files changed, 54 insertions(+), 36 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/