Thread (20 messages) flat view 20 messages, 12 authors, 2016-08-25

Re: CVE-2014-9900 fix is not upstream

From: Al Viro <viro@ZenIV.linux.org.uk>
Date: 2016-08-23 20:10:03
Also in: lkml

On Tue, Aug 23, 2016 at 11:24:06AM -0700, David Miller wrote:
quoted
On some versions and architectures.  Can you guarantee that you will
notice when an exception appears?
Again, show me the assembler output exhibiting the lack of
initialization, for this specific structure and situation.

That's all that I'm asking.
... and then we can file a bug report against the sodding compiler.  Note
that
struct ethtool_wolinfo {
        __u32   cmd;
        __u32   supported;
        __u32   wolopts;
        __u8    sopass[SOPASS_MAX];	// 6, actually
};
is not going to *have* padding.  Not on anything even remotely sane.
If array of 6 char as member of a struct requires 64bit alignment on some
architecture, I would really like some of what the designers of that ABI
must have been smoking.

Initializer might be allowed to leave padding uninitialized.  But all fields
_must_ be initialized, the missing initializers treated exactly as they
would've been for a static-duration object (C99 6.7.8p19).  And that is
going to cover everything in that sucker.  It's not a function of compiler -
only of C ABI on given target.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help