tracing: Exclude 'generic fields' from histograms
[ Upstream commit a15f7fc203
]
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>
This commit is contained in:
Родитель
45c911bb18
Коммит
16e1626e54
|
@ -450,7 +450,7 @@ static int create_val_field(struct hist_trigger_data *hist_data,
|
|||
}
|
||||
|
||||
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_trigger_data *hist_data,
|
|||
}
|
||||
|
||||
field = trace_find_event_field(file->event_call, field_name);
|
||||
if (!field) {
|
||||
if (!field || !field->size) {
|
||||
ret = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче