From: Willem de Bruijn <will...@google.com>

The xen driver initializes struct ubuf_info fields using designated
initializers. I recently moved these fields inside a nested anonymous
struct inside an anonymous union. I had missed this use case.

This breaks compilation of xen-netback with older compilers.
>From kbuild bot with gcc-4.4.7:

   drivers/net//xen-netback/interface.c: In function
   'xenvif_init_queue':
   >> drivers/net//xen-netback/interface.c:554: error: unknown field 'ctx' 
specified in initializer
   >> drivers/net//xen-netback/interface.c:554: warning: missing braces around 
initializer
      drivers/net//xen-netback/interface.c:554: warning: (near initialization 
for '(anonymous).<anonymous>')
   >> drivers/net//xen-netback/interface.c:554: warning: initialization makes 
integer from pointer without a cast
   >> drivers/net//xen-netback/interface.c:555: error: unknown field 'desc' 
specified in initializer

Add double braces around the designated initializers to match their
nested position in the struct. After this, compilation succeeds again.

Fixes: 4ab6c99d99bb ("sock: MSG_ZEROCOPY notification coalescing")
Reported-by: kbuild bot <l...@intel.com>
Signed-off-by: Willem de Bruijn <will...@google.com>
---
 drivers/net/xen-netback/interface.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/xen-netback/interface.c 
b/drivers/net/xen-netback/interface.c
index e322a862ddfe..ee8ed9da00ad 100644
--- a/drivers/net/xen-netback/interface.c
+++ b/drivers/net/xen-netback/interface.c
@@ -551,8 +551,8 @@ int xenvif_init_queue(struct xenvif_queue *queue)
        for (i = 0; i < MAX_PENDING_REQS; i++) {
                queue->pending_tx_info[i].callback_struct = (struct ubuf_info)
                        { .callback = xenvif_zerocopy_callback,
-                         .ctx = NULL,
-                         .desc = i };
+                         { { .ctx = NULL,
+                             .desc = i } } };
                queue->grant_tx_handle[i] = NETBACK_INVALID_HANDLE;
        }
 
-- 
2.14.1.342.g6490525c54-goog

Reply via email to