On Fri, Apr 08, 2022 at 09:48:24AM -0300, Jason Gunthorpe wrote: > On Tue, Apr 05, 2022 at 03:39:19PM +0200, Niklas Schnelle wrote: > > On Mon, 2022-04-04 at 13:43 -0400, Matthew Rosato wrote: > > > + struct zpci_fib fib = {}; > > > > Hmm this one uses '{}' as initializer while all current callers of > > zpci_mod_fc() use '{0}'. As far as I know the empty braces are a GNU > > extension so should work for the kernel but for consistency I'd go with > > '{0}' or possibly '{.foo = bar, ...}' where that is more readable. > > There too uninitialized fields will be set to 0. Unless of course there > > is a conflicting KVM convention that I don't know about. > > {} is not a GNU extension, it is the preferred way to write it. > > The standard has a weird distinction between {} and {0} that results > in different behavior. Whoever cares: details are described in "6.7.8 Initialization" within the C standard.