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

Commit b6b27355 authored by Steven Rostedt (VMware)'s avatar Steven Rostedt (VMware)
Browse files

tracing: Use str_has_prefix() instead of using fixed sizes



There are several instances of strncmp(str, "const", 123), where 123 is the
strlen of the const string to check if "const" is the prefix of str. But
this can be error prone. Use str_has_prefix() instead.

Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent 754481e6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4411,7 +4411,7 @@ static int trace_set_options(struct trace_array *tr, char *option)

	cmp = strstrip(option);

	if (strncmp(cmp, "no", 2) == 0) {
	if (str_has_prefix(cmp, "no")) {
		neg = 1;
		cmp += 2;
	}
+1 −1
Original line number Diff line number Diff line
@@ -1251,7 +1251,7 @@ static int f_show(struct seq_file *m, void *v)
	 */
	array_descriptor = strchr(field->type, '[');

	if (!strncmp(field->type, "__data_loc", 10))
	if (str_has_prefix(field->type, "__data_loc"))
		array_descriptor = NULL;

	if (!array_descriptor)
+1 −1
Original line number Diff line number Diff line
@@ -518,7 +518,7 @@ static int synth_event_define_fields(struct trace_event_call *call)

static bool synth_field_signed(char *type)
{
	if (strncmp(type, "u", 1) == 0)
	if (str_has_prefix(type, "u"))
		return false;

	return true;
+2 −2
Original line number Diff line number Diff line
@@ -194,7 +194,7 @@ static int parse_probe_vars(char *arg, const struct fetch_type *t,
			code->op = FETCH_OP_RETVAL;
		else
			ret = -EINVAL;
	} else if (strncmp(arg, "stack", 5) == 0) {
	} else if (str_has_prefix(arg, "stack")) {
		if (arg[5] == '\0') {
			code->op = FETCH_OP_STACKP;
		} else if (isdigit(arg[5])) {
@@ -213,7 +213,7 @@ static int parse_probe_vars(char *arg, const struct fetch_type *t,
#ifdef CONFIG_HAVE_FUNCTION_ARG_ACCESS_API
	} else if (((flags & TPARG_FL_MASK) ==
		    (TPARG_FL_KERNEL | TPARG_FL_FENTRY)) &&
		   strncmp(arg, "arg", 3) == 0) {
		   str_has_prefix(arg, "arg")) {
		if (!isdigit(arg[3]))
			return -EINVAL;
		ret = kstrtoul(arg + 3, 10, &param);
+1 −1
Original line number Diff line number Diff line
@@ -448,7 +448,7 @@ static char stack_trace_filter_buf[COMMAND_LINE_SIZE+1] __initdata;

static __init int enable_stacktrace(char *str)
{
	if (strncmp(str, "_filter=", 8) == 0)
	if (str_has_prefix(str, "_filter="))
		strncpy(stack_trace_filter_buf, str+8, COMMAND_LINE_SIZE);

	stack_tracer_enabled = 1;