On Fri, Jul 31, 2020 at 07:19:24PM +0200, Greg Kroah-Hartman wrote: > On Fri, Jul 31, 2020 at 11:36:04AM -0300, Jason Gunthorpe wrote: > > On Fri, Jul 31, 2020 at 04:21:48PM +0200, Greg Kroah-Hartman wrote: > > > > > > The spec was updated in C11 to require zero'ing padding when doing > > > > partial initialization of aggregates (eg = {}) > > > > > > > > """if it is an aggregate, every member is initialized (recursively) > > > > according to these rules, and any padding is initialized to zero > > > > bits;""" > > > > > > But then why does the compilers not do this? > > > > Do you have an example? > > At the moment, no, but we have had them in the past due to security > issues we have had to fix for this. Is it still relevant after bump of required GCC version to build kernel? I afraid that without solid example such changes will start to be treated with cargo cult. Jason, I'm using {} instead of {0} because of this GCC bug. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119 Thanks