2016-08-23 18:36 GMT+03:00 Eric Dumazet <eric.duma...@gmail.com>: > On Tue, 2016-08-23 at 08:05 -0700, Joe Perches wrote: > >> A compiler does not have a standards based requirement to >> initialize arbitrary padding bytes. >> >> I believe gcc always does zero all padding anyway. > > I would not worry for kernel code, because the amount of scrutiny there > will be enough to 'fix potential bugs' [1], but a lot of user land code > would suffer from various bugs as well that might sit there forever. > > [1] Also, most call sites in the kernel are using same call stack, so > the offset of '1-7 leaked bytes' vs kernel stack is constant, making > exploits quite challenging. > > Even if the current standards are lazy (are they, I did not check ?), > security needs would call for a sane compiler behavior and changing the > standards accordingly. >
C11 guarantees zeroed padding.