| From foo@baz Thu Dec 21 09:02:40 CET 2017 |
| From: Tom Zanussi <tom.zanussi@linux.intel.com> |
| Date: Fri, 22 Sep 2017 14:58:17 -0500 |
| Subject: tracing: Exclude 'generic fields' from histograms |
| |
| From: Tom Zanussi <tom.zanussi@linux.intel.com> |
| |
| |
| [ Upstream commit a15f7fc20389a8827d5859907568b201234d4b79 ] |
| |
| There are a small number of 'generic fields' (comm/COMM/cpu/CPU) that |
| are found by trace_find_event_field() but are only meant for |
| filtering. Specifically, they unlike normal fields, they have a size |
| of 0 and thus wreak havoc when used as a histogram key. |
| |
| Exclude these (return -EINVAL) when used as histogram keys. |
| |
| Link: http://lkml.kernel.org/r/956154cbc3e8a4f0633d619b886c97f0f0edf7b4.1506105045.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: Sasha Levin <alexander.levin@verizon.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| kernel/trace/trace_events_hist.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/kernel/trace/trace_events_hist.c |
| +++ b/kernel/trace/trace_events_hist.c |
| @@ -449,7 +449,7 @@ static int create_val_field(struct hist_ |
| } |
| |
| field = trace_find_event_field(file->event_call, field_name); |
| - if (!field) { |
| + if (!field || !field->size) { |
| ret = -EINVAL; |
| goto out; |
| } |
| @@ -547,7 +547,7 @@ static int create_key_field(struct hist_ |
| } |
| |
| field = trace_find_event_field(file->event_call, field_name); |
| - if (!field) { |
| + if (!field || !field->size) { |
| ret = -EINVAL; |
| goto out; |
| } |