Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16e1626e authored by Tom Zanussi's avatar Tom Zanussi Committed by Greg Kroah-Hartman
Browse files

tracing: Exclude 'generic fields' from histograms


[ 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: default avatarTom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: default avatarSasha Levin <alexander.levin@verizon.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 45c911bb
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -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);
	field = trace_find_event_field(file->event_call, field_name);
	if (!field) {
	if (!field || !field->size) {
		ret = -EINVAL;
		ret = -EINVAL;
		goto out;
		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);
		field = trace_find_event_field(file->event_call, field_name);
		if (!field) {
		if (!field || !field->size) {
			ret = -EINVAL;
			ret = -EINVAL;
			goto out;
			goto out;
		}
		}