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]
Date:	Wed, 27 Nov 2013 10:56:16 -0500
From:	Steven Rostedt <rostedt@...dmis.org>
To:	Ingo Molnar <mingo@...nel.org>
Cc:	Peter Zijlstra <peterz@...radead.org>,
	Juri Lelli <juri.lelli@...il.com>, tglx@...utronix.de,
	mingo@...hat.com, oleg@...hat.com, fweisbec@...il.com,
	darren@...art.com, johan.eker@...csson.com, p.faure@...tech.ch,
	linux-kernel@...r.kernel.org, claudio@...dence.eu.com,
	michael@...rulasolutions.com, fchecconi@...il.com,
	tommaso.cucinotta@...up.it, nicola.manica@...i.unitn.it,
	luca.abeni@...tn.it, dhaval.giani@...il.com, hgu1972@...il.com,
	paulmck@...ux.vnet.ibm.com, raistlin@...ux.it,
	insop.song@...il.com, liming.wang@...driver.com, jkacur@...hat.com,
	harald.gustafsson@...csson.com, vincent.guittot@...aro.org,
	bruce.ashfield@...driver.com
Subject: Re: [PATCH 08/14] sched: add latency tracing for -deadline tasks.

On Wed, 27 Nov 2013 16:46:00 +0100
Ingo Molnar <mingo@...nel.org> wrote:

> 
> * Peter Zijlstra <peterz@...radead.org> wrote:
> 
> > On Wed, Nov 27, 2013 at 04:35:19PM +0100, Ingo Molnar wrote:
> > > So why does GCC then behave like this:
> > 
> > I think because its a much saner behaviour; also it might still be the
> > spec actually says this, its a somewhat opaque text.
> > 
> > Anyway, yes GCC seems to behave as we 'expect' it to; I just can't find
> > the language spec actually guaranteeing this.
> 
> So from C99 standard ยง6.7.8 (Initialization)/21:
> 
>     "If there are fewer initializers in a brace-enclosed list than 
>   there are elements or members of an aggregate, or fewer characters 
>   in a string literal used to initialize an array of known size than 
>   there are elements in the array, the remainder of the aggregate 
>   shall be initialized implicitly the same as objects that have static 
>   storage duration."
> 
> static initialization == zeroing in this case.
> 

The confusion here is that the above looks to be talking about arrays.
But it really doesn't specify structures.

But searching the internet, it looks as though most people believe it
applies to structures, and any compiler that does otherwise will most
likely break applications.

That is, this looks to be one of the gray areas that the compiler
writers just happen to do what's most sane. And they probably assume
it's talking about structures as well, hence the lack of warnings.

It gets confusing, as the doc also shows:

struct { int a[3], b; } w[] = { { 1 }, 2 };

Then points out that w.a[0] is 1 and w.b[0] is 2, and all other
elements are zero.

-- Steve
--
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