39 lines
1.3 KiB
Diff
39 lines
1.3 KiB
Diff
From: Tom Zanussi <tom.zanussi@linux.intel.com>
|
|
Date: Fri, 22 Sep 2017 14:58:17 -0500
|
|
Subject: [PATCH 03/42] tracing: Exclude 'generic fields' from histograms
|
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.6-rt7.tar.xz
|
|
|
|
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.
|
|
|
|
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
|
|
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
---
|
|
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
|
|
@@ -450,7 +450,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;
|
|
}
|
|
@@ -548,7 +548,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;
|
|
}
|