51 lines
1.9 KiB
Diff
51 lines
1.9 KiB
Diff
From: Steven Rostedt <rostedt@goodmis.org>
|
|
Date: Wed, 16 May 2018 09:36:43 -0400
|
|
Subject: [PATCH 1/5] tracing: Add field modifier parsing hist error for hist
|
|
triggers
|
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.16/older/patches-4.16.8-rt3.tar.xz
|
|
|
|
From: Tom Zanussi <tom.zanussi@linux.intel.com>
|
|
|
|
[ commit dcf234577cd31fa16874e828b90659166ad6b80d ]
|
|
|
|
If the user specifies an invalid field modifier for a hist trigger,
|
|
the current code correctly flags that as an error, but doesn't tell
|
|
the user what happened.
|
|
|
|
Fix this by invoking hist_err() with an appropriate message when
|
|
invalid modifiers are specified.
|
|
|
|
Before:
|
|
|
|
# echo 'hist:keys=pid:ts0=common_timestamp.junkusecs' >> /sys/kernel/debug/tracing/events/sched/sched_wakeup/trigger
|
|
-su: echo: write error: Invalid argument
|
|
# cat /sys/kernel/debug/tracing/events/sched/sched_wakeup/hist
|
|
|
|
After:
|
|
|
|
# echo 'hist:keys=pid:ts0=common_timestamp.junkusecs' >> /sys/kernel/debug/tracing/events/sched/sched_wakeup/trigger
|
|
-su: echo: write error: Invalid argument
|
|
# cat /sys/kernel/debug/tracing/events/sched/sched_wakeup/hist
|
|
ERROR: Invalid field modifier: junkusecs
|
|
Last command: keys=pid:ts0=common_timestamp.junkusecs
|
|
|
|
Link: http://lkml.kernel.org/r/b043c59fa79acd06a5f14a1d44dee9e5a3cd1248.1524790601.git.tom.zanussi@linux.intel.com
|
|
|
|
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
|
|
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
|
|
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
---
|
|
kernel/trace/trace_events_hist.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
--- a/kernel/trace/trace_events_hist.c
|
|
+++ b/kernel/trace/trace_events_hist.c
|
|
@@ -2466,6 +2466,7 @@ parse_field(struct hist_trigger_data *hi
|
|
else if (strcmp(modifier, "usecs") == 0)
|
|
*flags |= HIST_FIELD_FL_TIMESTAMP_USECS;
|
|
else {
|
|
+ hist_err("Invalid field modifier: ", modifier);
|
|
field = ERR_PTR(-EINVAL);
|
|
goto out;
|
|
}
|