lkml.org 
[lkml]   [2010]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subject[PATCH 0/5][GIT PULL][v2.6.33] tracing: fixes and documentation updates

    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(-)



    \
     
     \ /
      Last update: 2010-01-26 23:19    [W:0.024 / U:29.540 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site