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.