[PATCH 0/5] [GIT PULL] seq-buf/ftrace: Various fixes

From: Steven Rostedt
Date: Mon Mar 09 2015 - 12:06:00 EST



Linus,

This includes fixes for seq_buf_bprintf() truncation issue. It also
contains fixes to ftrace when /proc/sys/kernel/ftrace_enabled and
function tracing are started. Doing the following causes some issues:

# echo 0 > /proc/sys/kernel/ftrace_enabled
# echo function_graph > /sys/kernel/debug/tracing/current_tracer
# echo 1 > /proc/sys/kernel/ftrace_enabled
# echo nop > /sys/kernel/debug/tracing/current_tracer
# echo function_graph > /sys/kernel/debug/tracing/current_tracer

As well as with function tracing too. Pratyush Anand first reported
this issue to me and supplied a patch. When I tested this on my x86
test box, it caused thousands of backtraces and warnings to appear in
dmesg, which also caused a denial of service (a warning for every
function that was listed). I applied Pratyush's patch but it did not
fix the issue for me. I looked into it and found a slight problem
with trampoline accounting. I fixed it and sent Pratyush a patch, but
he said that it did not fix the issue for him.

I later learned tha Pratyush was using an ARM64 server, and when I tested
on my ARM board, I was able to reproduce the same issue as Pratyush.
After applying his patch, it fixed the problem. The above test uncovered
two different bugs, one in x86 and one in ARM and ARM64. As this looked
like it would affect PowerPC, I tested it on my PPC64 box. It too broke,
but neither the patch that fixed ARM or x86 fixed this box (the changes
were all in generic code!). The above test, uncovered two more bugs that
affected PowerPC. Again, the changes were only done to generic code.
It's the way the arch code expected things to be done that was different
between the archs. Some where more sensitive than others.

The rest of this series fixes the PPC bugs as well.

This is on top of the last pull request I sent out. But doesn't seem to
have been pulled.

Please pull the latest trace-fixes-v4.0-rc2-2 tree, which can be found at:


git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
trace-fixes-v4.0-rc2-2

Tag SHA1: 5b136f3e4bf380f18402f3354cd13f9f0ffbeb02
Head SHA1: 524a38682573b2e15ab6317ccfe50280441514be


Pratyush Anand (1):
ftrace: Fix en(dis)able graph caller when en(dis)abling record via sysctl

Steven Rostedt (Red Hat) (4):
seq_buf: Fix seq_buf_vprintf() truncation
seq_buf: Fix seq_buf_bprintf() truncation
ftrace: Clear REGS_EN and TRAMP_EN flags on disabling record via sysctl
ftrace: Fix ftrace enable ordering of sysctl ftrace_enabled

----
kernel/trace/ftrace.c | 40 ++++++++++++++++++++++++++++++----------
lib/seq_buf.c | 4 ++--
2 files changed, 32 insertions(+), 12 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/