]> git.baikalelectronics.ru Git - kernel.git/commit
ftrace: Fix indexing of t_hash_start() from t_next()
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Mon, 17 Apr 2017 14:22:29 +0000 (10:22 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Mon, 17 Apr 2017 14:22:29 +0000 (10:22 -0400)
commit7b50c2acf5ed2b1db27c0354a78b1cdc16d0a65e
treee9c1b57da109993c49f0578a3feb61b884a2dbdc
parent7961b609968e5bad943951598c24de5bf3203f85
ftrace: Fix indexing of t_hash_start() from t_next()

t_hash_start() does not increment *pos, where as t_next() must. But when
t_next() does increment *pos, it must still pass in the original *pos to
t_hash_start() otherwise it will skip the first instance:

 # cd /sys/kernel/debug/tracing
 # echo schedule:traceoff > set_ftrace_filter
 # echo do_IRQ:traceoff > set_ftrace_filter
 # echo call_rcu > set_ftrace_filter
 # cat set_ftrace_filter
call_rcu
schedule:traceoff:unlimited
do_IRQ:traceoff:unlimited

The above called t_hash_start() from t_start() as there was only one
function (call_rcu), but if we add another function:

 # echo xfrm_policy_destroy_rcu >> set_ftrace_filter
 # cat set_ftrace_filter
call_rcu
xfrm_policy_destroy_rcu
do_IRQ:traceoff:unlimited

The "schedule:traceoff" disappears.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/ftrace.c