xsk: Properly terminate assignment in xskq_produce_flush_desc
authorNathan Chancellor <natechancellor@gmail.com>
Tue, 25 Jun 2019 18:23:52 +0000 (11:23 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Wed, 26 Jun 2019 12:39:05 +0000 (14:39 +0200)
Clang warns:

In file included from net/xdp/xsk_queue.c:10:
net/xdp/xsk_queue.h:292:2: warning: expression result unused
[-Wunused-value]
        WRITE_ONCE(q->ring->producer, q->prod_tail);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:284:6: note: expanded from macro 'WRITE_ONCE'
        __u.__val;                                      \
        ~~~ ^~~~~
1 warning generated.

The q->prod_tail assignment has a comma at the end, not a semi-colon.
Fix that so clang no longer warns and everything works as expected.

Fixes: c497176cb2e4 ("xsk: add Rx receive functions and poll support")
Link: https://github.com/ClangBuiltLinux/linux/issues/544
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Acked-by: Nick Desaulniers <ndesaulniers@google.com>
Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
Acked-by: Björn Töpel <bjorn.topel@intel.com>
Acked-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
net/xdp/xsk_queue.h

index 88b9ae24658d1efd39286d9a42357efe3b25ee42..cba4a640d5e8470040fe7ff5c8d186729e895ddc 100644 (file)
@@ -288,7 +288,7 @@ static inline void xskq_produce_flush_desc(struct xsk_queue *q)
        /* Order producer and data */
        smp_wmb(); /* B, matches C */
 
-       q->prod_tail = q->prod_head,
+       q->prod_tail = q->prod_head;
        WRITE_ONCE(q->ring->producer, q->prod_tail);
 }