diff options
Diffstat (limited to 'kernel/trace/trace_output.c')
| -rw-r--r-- | kernel/trace/trace_output.c | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c index 0d6ff355594..859fae6b182 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c @@ -264,7 +264,7 @@ void *trace_seq_reserve(struct trace_seq *s, size_t len)  	return ret;  } -int trace_seq_path(struct trace_seq *s, struct path *path) +int trace_seq_path(struct trace_seq *s, const struct path *path)  {  	unsigned char *p; @@ -300,7 +300,7 @@ ftrace_print_flags_seq(struct trace_seq *p, const char *delim,  	unsigned long mask;  	const char *str;  	const char *ret = p->buffer + p->len; -	int i; +	int i, first = 1;  	for (i = 0;  flag_array[i].name && flags; i++) { @@ -310,14 +310,16 @@ ftrace_print_flags_seq(struct trace_seq *p, const char *delim,  		str = flag_array[i].name;  		flags &= ~mask; -		if (p->len && delim) +		if (!first && delim)  			trace_seq_puts(p, delim); +		else +			first = 0;  		trace_seq_puts(p, str);  	}  	/* check for left over flags */  	if (flags) { -		if (p->len && delim) +		if (!first && delim)  			trace_seq_puts(p, delim);  		trace_seq_printf(p, "0x%lx", flags);  	} @@ -344,7 +346,7 @@ ftrace_print_symbols_seq(struct trace_seq *p, unsigned long val,  		break;  	} -	if (!p->len) +	if (ret == (const char *)(p->buffer + p->len))  		trace_seq_printf(p, "0x%lx", val);  	trace_seq_putc(p, 0); @@ -370,7 +372,7 @@ ftrace_print_symbols_seq_u64(struct trace_seq *p, unsigned long long val,  		break;  	} -	if (!p->len) +	if (ret == (const char *)(p->buffer + p->len))  		trace_seq_printf(p, "0x%llx", val);  	trace_seq_putc(p, 0); | 
