Commit f780f00d authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'trace-v4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace

Pull tracing fixes from Steven Rostedt:
 "Two fixes for the tracing system:

   - When trace_printk() is used with a non constant format descriptor,
     it adds a NULL pointer into the trace format section, and the code
     isn't prepared to deal with it.  This bug appeared by a change that
     was added in v3.5.

   - The ftracetest (selftests section) can't handle testing histograms
     when histograms are not configured.  Currently it shows that they
     fail the test, when they should state that they are unsupported.
     This bug was added in the 4.7 merge window with the addition of the
     historgram code"

* tag 'trace-v4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
  ftracetest: Fix hist unsupported result in hist selftests
  tracing: Handle NULL formats in hold_module_trace_bprintk_format()
parents 97f78c7d 0ded5174
...@@ -36,6 +36,10 @@ struct trace_bprintk_fmt { ...@@ -36,6 +36,10 @@ struct trace_bprintk_fmt {
static inline struct trace_bprintk_fmt *lookup_format(const char *fmt) static inline struct trace_bprintk_fmt *lookup_format(const char *fmt)
{ {
struct trace_bprintk_fmt *pos; struct trace_bprintk_fmt *pos;
if (!fmt)
return ERR_PTR(-EINVAL);
list_for_each_entry(pos, &trace_bprintk_fmt_list, list) { list_for_each_entry(pos, &trace_bprintk_fmt_list, list) {
if (!strcmp(pos->fmt, fmt)) if (!strcmp(pos->fmt, fmt))
return pos; return pos;
...@@ -57,6 +61,7 @@ void hold_module_trace_bprintk_format(const char **start, const char **end) ...@@ -57,6 +61,7 @@ void hold_module_trace_bprintk_format(const char **start, const char **end)
for (iter = start; iter < end; iter++) { for (iter = start; iter < end; iter++) {
struct trace_bprintk_fmt *tb_fmt = lookup_format(*iter); struct trace_bprintk_fmt *tb_fmt = lookup_format(*iter);
if (tb_fmt) { if (tb_fmt) {
if (!IS_ERR(tb_fmt))
*iter = tb_fmt->fmt; *iter = tb_fmt->fmt;
continue; continue;
} }
......
...@@ -23,15 +23,14 @@ if [ ! -f events/sched/sched_process_fork/trigger ]; then ...@@ -23,15 +23,14 @@ if [ ! -f events/sched/sched_process_fork/trigger ]; then
exit_unsupported exit_unsupported
fi fi
reset_tracer if [ ! -f events/sched/sched_process_fork/hist ]; then
do_reset
FEATURE=`grep hist events/sched/sched_process_fork/trigger`
if [ -z "$FEATURE" ]; then
echo "hist trigger is not supported" echo "hist trigger is not supported"
exit_unsupported exit_unsupported
fi fi
reset_tracer
do_reset
echo "Test histogram with execname modifier" echo "Test histogram with execname modifier"
echo 'hist:keys=common_pid.execname' > events/sched/sched_process_fork/trigger echo 'hist:keys=common_pid.execname' > events/sched/sched_process_fork/trigger
......
...@@ -23,15 +23,14 @@ if [ ! -f events/sched/sched_process_fork/trigger ]; then ...@@ -23,15 +23,14 @@ if [ ! -f events/sched/sched_process_fork/trigger ]; then
exit_unsupported exit_unsupported
fi fi
reset_tracer if [ ! -f events/sched/sched_process_fork/hist ]; then
do_reset
FEATURE=`grep hist events/sched/sched_process_fork/trigger`
if [ -z "$FEATURE" ]; then
echo "hist trigger is not supported" echo "hist trigger is not supported"
exit_unsupported exit_unsupported
fi fi
reset_tracer
do_reset
echo "Test histogram basic tigger" echo "Test histogram basic tigger"
echo 'hist:keys=parent_pid:vals=child_pid' > events/sched/sched_process_fork/trigger echo 'hist:keys=parent_pid:vals=child_pid' > events/sched/sched_process_fork/trigger
......
...@@ -23,15 +23,14 @@ if [ ! -f events/sched/sched_process_fork/trigger ]; then ...@@ -23,15 +23,14 @@ if [ ! -f events/sched/sched_process_fork/trigger ]; then
exit_unsupported exit_unsupported
fi fi
reset_tracer if [ ! -f events/sched/sched_process_fork/hist ]; then
do_reset
FEATURE=`grep hist events/sched/sched_process_fork/trigger`
if [ -z "$FEATURE" ]; then
echo "hist trigger is not supported" echo "hist trigger is not supported"
exit_unsupported exit_unsupported
fi fi
reset_tracer
do_reset
reset_trigger reset_trigger
echo "Test histogram multiple tiggers" echo "Test histogram multiple tiggers"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment