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

Commit 03aacb90 authored by Steven Rostedt (VMware)'s avatar Steven Rostedt (VMware) Committed by Greg Kroah-Hartman
Browse files

tracing: Use str_has_prefix() helper for histogram code



commit 754481e6954cbef53f8bc4412ad48dde611e21d3 upstream.

The tracing histogram code contains a lot of instances of the construct:

 strncmp(str, "const", sizeof("const") - 1)

This can be prone to bugs due to typos or bad cut and paste. Use the
str_has_prefix() helper macro instead that removes the need for having two
copies of the constant string.

Cc: Tom Zanussi <tom.zanussi@linux.intel.com>
Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: default avatarGeorge Guo <guodongtai@kylinos.cn>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 1415e7a4
Loading
Loading
Loading
Loading
+16 −16
Original line number Diff line number Diff line
@@ -1878,8 +1878,8 @@ static int parse_action(char *str, struct hist_trigger_attrs *attrs)
	if (attrs->n_actions >= HIST_ACTIONS_MAX)
		return ret;

	if ((strncmp(str, "onmatch(", strlen("onmatch(")) == 0) ||
	    (strncmp(str, "onmax(", strlen("onmax(")) == 0)) {
	if ((str_has_prefix(str, "onmatch(")) ||
	    (str_has_prefix(str, "onmax("))) {
		attrs->action_str[attrs->n_actions] = kstrdup(str, GFP_KERNEL);
		if (!attrs->action_str[attrs->n_actions]) {
			ret = -ENOMEM;
@@ -1896,34 +1896,34 @@ static int parse_assignment(char *str, struct hist_trigger_attrs *attrs)
{
	int ret = 0;

	if ((strncmp(str, "key=", strlen("key=")) == 0) ||
	    (strncmp(str, "keys=", strlen("keys=")) == 0)) {
	if ((str_has_prefix(str, "key=")) ||
	    (str_has_prefix(str, "keys="))) {
		attrs->keys_str = kstrdup(str, GFP_KERNEL);
		if (!attrs->keys_str) {
			ret = -ENOMEM;
			goto out;
		}
	} else if ((strncmp(str, "val=", strlen("val=")) == 0) ||
		 (strncmp(str, "vals=", strlen("vals=")) == 0) ||
		 (strncmp(str, "values=", strlen("values=")) == 0)) {
	} else if ((str_has_prefix(str, "val=")) ||
		   (str_has_prefix(str, "vals=")) ||
		   (str_has_prefix(str, "values="))) {
		attrs->vals_str = kstrdup(str, GFP_KERNEL);
		if (!attrs->vals_str) {
			ret = -ENOMEM;
			goto out;
		}
	} else if (strncmp(str, "sort=", strlen("sort=")) == 0) {
	} else if (str_has_prefix(str, "sort=")) {
		attrs->sort_key_str = kstrdup(str, GFP_KERNEL);
		if (!attrs->sort_key_str) {
			ret = -ENOMEM;
			goto out;
		}
	} else if (strncmp(str, "name=", strlen("name=")) == 0) {
	} else if (str_has_prefix(str, "name=")) {
		attrs->name = kstrdup(str, GFP_KERNEL);
		if (!attrs->name) {
			ret = -ENOMEM;
			goto out;
		}
	} else if (strncmp(str, "clock=", strlen("clock=")) == 0) {
	} else if (str_has_prefix(str, "clock=")) {
		strsep(&str, "=");
		if (!str) {
			ret = -EINVAL;
@@ -1936,7 +1936,7 @@ static int parse_assignment(char *str, struct hist_trigger_attrs *attrs)
			ret = -ENOMEM;
			goto out;
		}
	} else if (strncmp(str, "size=", strlen("size=")) == 0) {
	} else if (str_has_prefix(str, "size=")) {
		int map_bits = parse_map_size(str);

		if (map_bits < 0) {
@@ -3623,7 +3623,7 @@ static struct action_data *onmax_parse(char *str)
	if (!onmax_fn_name || !str)
		goto free;

	if (strncmp(onmax_fn_name, "save", strlen("save")) == 0) {
	if (str_has_prefix(onmax_fn_name, "save")) {
		char *params = strsep(&str, ")");

		if (!params) {
@@ -4414,8 +4414,8 @@ static int parse_actions(struct hist_trigger_data *hist_data)
	for (i = 0; i < hist_data->attrs->n_actions; i++) {
		str = hist_data->attrs->action_str[i];

		if (strncmp(str, "onmatch(", strlen("onmatch(")) == 0) {
			char *action_str = str + strlen("onmatch(");
		if (str_has_prefix(str, "onmatch(")) {
			char *action_str = str + sizeof("onmatch(") - 1;

			data = onmatch_parse(tr, action_str);
			if (IS_ERR(data)) {
@@ -4423,8 +4423,8 @@ static int parse_actions(struct hist_trigger_data *hist_data)
				break;
			}
			data->fn = action_trace;
		} else if (strncmp(str, "onmax(", strlen("onmax(")) == 0) {
			char *action_str = str + strlen("onmax(");
		} else if (str_has_prefix(str, "onmax(")) {
			char *action_str = str + sizeof("onmax(") - 1;

			data = onmax_parse(action_str);
			if (IS_ERR(data)) {