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: <20190522075227.52ae4720@gandalf.local.home>
Date:   Wed, 22 May 2019 07:52:27 -0400
From:   Steven Rostedt <rostedt@...dmis.org>
To:     Miguel Ojeda <miguel.ojeda.sandonis@...il.com>
Cc:     Ingo Molnar <mingo@...hat.com>,
        Linus Torvalds <torvalds@...ux-foundation.org>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] tracing: silence GCC 9 array bounds warning

On Wed, 22 May 2019 11:58:10 +0200
Miguel Ojeda <miguel.ojeda.sandonis@...il.com> wrote:

> +/* reset all but tr, trace, and overruns */
> +static __always_inline void trace_iterator_reset(struct trace_iterator *iter)
> +{
> +	/*
> +	 * We do not simplify the start address to &iter->seq in order to let
> +	 * GCC 9 know that we really want to overwrite more members than
> +	 * just iter->seq (-Warray-bounds).

This comment is fine for the change log, but here it is too specific.
Why does one care about GCC 9 when we are at version GCC 21? I care
more about why we are clearing the data and less about the way we are
doing it.

A comment like:

	/*
	 * Reset the state of the trace_iterator so that it can read
	 * consumed data. Normally, the trace_iterator is used for
	 * reading the data when it is not consumed, and must retain
	 * state.
	 */

That is more useful than why we have the offset hack.


> +	 */
> +	const size_t offset = offsetof(struct trace_iterator, seq);

Need a empty line between these two.

-- Steve

> +	memset((char *)(iter) + offset, 0, sizeof(struct trace_iterator) - offset);
> +
> +	iter->pos = -1;
> +}
> +
>  #endif /* _LINUX_KERNEL_TRACE_H */

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ