From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Ingo Molnar <mingo@elte.hu>, Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH 0/5][GIT PULL][v2.6.33] tracing: fixes and documentation updates
Date: Tue, 26 Jan 2010 17:09:23 -0500 [thread overview]
Message-ID: <20100126220923.534282809@goodmis.org> (raw)
Ingo,
I found that reading the trace file and the raw_trace_pipe using
splice, at the same time could cause a kernel oops. Not a major one,
that is, the oops only crashes the user task that is performing
the read of the trace file. But still urgent enough to go into
2.6.33.
The issue is with the iterator that is stored to access multiple
reads of the ring buffer without consuming the data. If a user
process starts reading the contents of the ring buffer with the
iterator, and in the mean time a consuming read is done, then
the iterator can become stale and return a bogus entry.
The first patch fixes the pid to cmdline mapping function to not
crash when given a negative pid (which happened when we had a
bogus entry).
The next two patches fix the ring buffer to detect when a consuming
read is done and to reset the iterator.
Since I'm pushing these patches up, I've also incuded two
documentation changes. One of the patches touches a Kconfig file
but only the help portion of it.
Please pull the latest tip/tracing/urgent tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
tip/tracing/urgent
Mike Frysinger (1):
tracing/documentation: Cover new frame pointer semantics
Steven Rostedt (3):
tracing: Prevent kernel oops with corrupted buffer
ring-buffer: Check if ring buffer iterator has stale data
ring-buffer: Check for end of page in iterator
Yang Hongyang (1):
tracing/documentation: Fix a typo in ftrace.txt
----
Documentation/trace/ftrace-design.txt | 26 +++++++++++++++++++++++---
Documentation/trace/ftrace.txt | 2 +-
kernel/trace/Kconfig | 4 +---
kernel/trace/ring_buffer.c | 24 +++++++++++++++++++++---
kernel/trace/trace.c | 5 +++++
5 files changed, 51 insertions(+), 10 deletions(-)
next reply other threads:[~2010-01-26 22:17 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-26 22:09 Steven Rostedt [this message]
2010-01-26 22:09 ` [PATCH 1/5] tracing: Prevent kernel oops with corrupted buffer Steven Rostedt
2010-01-26 22:32 ` Andrew Morton
2010-01-26 22:39 ` Frederic Weisbecker
2010-01-26 23:20 ` Steven Rostedt
2010-01-26 23:24 ` Steven Rostedt
2010-01-26 22:09 ` [PATCH 2/5] ring-buffer: Check if ring buffer iterator has stale data Steven Rostedt
2010-01-26 22:09 ` [PATCH 3/5] ring-buffer: Check for end of page in iterator Steven Rostedt
2010-01-26 22:09 ` [PATCH 4/5] tracing/documentation: Fix a typo in ftrace.txt Steven Rostedt
2010-01-26 22:09 ` [PATCH 5/5] tracing/documentation: Cover new frame pointer semantics Steven Rostedt
2010-01-27 9:37 ` [PATCH 0/5][GIT PULL][v2.6.33] tracing: fixes and documentation updates Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100126220923.534282809@goodmis.org \
--to=rostedt@goodmis.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox