lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87r3x1s62k.fsf@sejong.aot.lge.com>
Date:	Tue, 18 Nov 2014 09:30:59 +0900
From:	Namhyung Kim <namhyung@...nel.org>
To:	Steven Rostedt <rostedt@...dmis.org>
Cc:	linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...nel.org>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Jiri Kosina <jkosina@...e.cz>, Petr Mladek <pmladek@...e.cz>,
	Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
Subject: Re: [RFC][PATCH 09/23 v4] tracing/probes: Do not use return value of trace_seq_printf()

Hi Steve,

On Thu, 13 Nov 2014 20:12:53 -0500, Steven Rostedt wrote:
> From: "Steven Rostedt (Red Hat)" <rostedt@...dmis.org>
>
> The functions trace_seq_printf() and friends will soon not have a return
> value and will only be a void function. Use trace_seq_has_overflowed()
> instead to know if the trace_seq operations succeeded or not.
>
> Cc: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
> Cc: Namhyung Kim <namhyung@...nel.org>
> Signed-off-by: Steven Rostedt <rostedt@...dmis.org>
> ---
>  kernel/trace/trace_probe.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c
> index d4b9fc22cd27..b983b2fd2ca1 100644
> --- a/kernel/trace/trace_probe.c
> +++ b/kernel/trace/trace_probe.c
> @@ -40,7 +40,8 @@ const char *reserved_field_names[] = {
>  int PRINT_TYPE_FUNC_NAME(type)(struct trace_seq *s, const char *name,	\
>  				void *data, void *ent)			\
>  {									\
> -	return trace_seq_printf(s, " %s=" fmt, name, *(type *)data);	\
> +	trace_seq_printf(s, " %s=" fmt, name, *(type *)data);		\
> +	return !trace_seq_has_overflowed(s);				\

At first, I wondered why you used this instead of trace_handle_return()
but I found out that it's only used for checking loop break so I'm okay
with this.

Acked-by: Namhyung Kim <namhyung@...nel.org>

Thanks,
Namhyung


>  }									\
>  const char PRINT_TYPE_FMT_NAME(type)[] = fmt;				\
>  NOKPROBE_SYMBOL(PRINT_TYPE_FUNC_NAME(type));
> @@ -61,10 +62,11 @@ int PRINT_TYPE_FUNC_NAME(string)(struct trace_seq *s, const char *name,
>  	int len = *(u32 *)data >> 16;
>  
>  	if (!len)
> -		return trace_seq_printf(s, " %s=(fault)", name);
> +		trace_seq_printf(s, " %s=(fault)", name);
>  	else
> -		return trace_seq_printf(s, " %s=\"%s\"", name,
> -					(const char *)get_loc_data(data, ent));
> +		trace_seq_printf(s, " %s=\"%s\"", name,
> +				 (const char *)get_loc_data(data, ent));
> +	return !trace_seq_has_overflowed(s);
>  }
>  NOKPROBE_SYMBOL(PRINT_TYPE_FUNC_NAME(string));
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ