• S
    tracing: Fix reading of set_ftrace_filter across lists · 57c072c7
    Steven Rostedt 提交于
    If we do:
    
     # cd /sys/kernel/debug
     # echo 'do_IRQ:traceon schedule:traceon sys_write:traceon' > \
        set_ftrace_filter
     # cat set_ftrace_filter
    
    We get the following output:
    
     #### all functions enabled ####
     sys_write:traceon:unlimited
     schedule:traceon:unlimited
     do_IRQ:traceon:unlimited
    
    This outputs two lists. One is the fact that all functions are
    currently enabled for function tracing, the other has three probed
    functions, which happen to have 'traceon' as their commands.
    
    Currently, when reading the first list (functions enabled) the
    seq_file code will receive a "NULL" from the t_next() function
    causing it to exit early. This makes "read()" from userspace stop
    reading the code at this boarder. Although read is allowed to do this,
    some (broken) applications might consider this an end of file and
    stop early.
    
    This patch adds the start of the second list to t_next() when it
    finishes the first list. It is a simple change and gives the
    set_ftrace_filter file nicer reading ability.
    Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
    57c072c7
ftrace.c 72.2 KB