Patch "tracing: Fix stacktrace skip depth in trace_buffer_unlock_commit_regs()" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
tracing: Fix stacktrace skip depth in trace_buffer_unlock_commit_regs()
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
tracing-fix-stacktrace-skip-depth-in-trace_buffer_unlock_commit_regs.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
7717c6be699975f6733d278b13b7c4295d73caf6Mon Sep 17 00:00:00 2001
From: "Steven Rostedt (Red Hat)" <[email protected]>
Date: Wed, 13 Jan 2016 15:48:54 -0500
Subject: tracing: Fix stacktrace skip depth in trace_buffer_unlock_commit_regs()
From: Steven Rostedt (Red Hat) <[email protected]>
commit 7717c6be699975f6733d278b13b7c4295d73caf6 upstream.
While cleaning the stacktrace code I unintentially changed the skip depth of trace_buffer_unlock_commit_regs() from 0 to 6. kprobes uses this function, and with skipping 6 call backs, it can easily produce no stack.
Here's how I tested it:
# echo 'p:ext4_sync_fs ext4_sync_fs ' > /sys/kernel/debug/tracing/kprobe_events
# echo 1 > /sys/kernel/debug/tracing/events/kprobes/enable
# cat /sys/kernel/debug/trace
sync-2394 [005] 502.457060: ext4_sync_fs: (ffffffff81317650)
sync-2394 [005] 502.457063: kernel_stack: <stack trace>
sync-2394 [005] 502.457086: ext4_sync_fs: (ffffffff81317650)
sync-2394 [005] 502.457087: kernel_stack: <stack trace>
sync-2394 [005] 502.457091: ext4_sync_fs: (ffffffff81317650)After putting back the skip stack to zero, we have:
sync-2270 [000] 748.052693: ext4_sync_fs: (ffffffff81317650)
sync-2270 [000] 748.052695: kernel_stack: <stack trace>
=> iterate_supers (ffffffff8126412e)
=> sys_sync (ffffffff8129c4b6)
=> entry_SYSCALL_64_fastpath (ffffffff8181f0b2)
sync-2270 [000] 748.053017: ext4_sync_fs: (ffffffff81317650)
sync-2270 [000] 748.053019: kernel_stack: <stack trace>
=> iterate_supers (ffffffff8126412e)
=> sys_sync (ffffffff8129c4b6)
=> entry_SYSCALL_64_fastpath (ffffffff8181f0b2)
sync-2270 [000] 748.053381: ext4_sync_fs: (ffffffff81317650)
sync-2270 [000] 748.053383: kernel_stack: <stack trace> => iterate_supers (ffffffff8126412e)
=> sys_sync (ffffffff8129c4b6)
=> entry_SYSCALL_64_fastpath (ffffffff8181f0b2)
--- kernel/trace/trace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
kernel/trace/trace.c +1 -1
@@ -1751,7 +1751,7 @@ void trace_buffer_unlock_commit_regs(str {__buffer_unlock_commit (buffer, event); -ftrace_trace_stack (tr, buffer, flags,6 , pc, regs); +ftrace_trace_stack (tr, buffer, flags,0 , pc, regs);ftrace_trace_userstack (buffer, flags, pc); }EXPORT_SYMBOL_GPL (trace_buffer_unlock_commit_regs);
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/tracing-fix-stacktrace-skip-depth-in-trace_buffer_unlock_commit_regs.patch queue-4.4/tracing-stacktrace-show-entire-trace-if-passed-in-function-not-found.patch