xsk: Fix clang build error in __xp_alloc
authorMagnus Karlsson <magnus.karlsson@intel.com>
Wed, 29 Sep 2021 06:14:03 +0000 (08:14 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Wed, 29 Sep 2021 11:59:13 +0000 (13:59 +0200)
Fix a build error with clang in __xp_alloc():

  [...]
  net/xdp/xsk_buff_pool.c:465:15: error: variable 'xskb' is uninitialized
  when used here [-Werror,-Wuninitialized]
                          xp_release(xskb);
                                     ^~~~

This is correctly detected by clang, but not gcc. In fact, the xp_release()
statement should not be there at all in the refactored code, just remove it.

Fixes: 94033cd8e73b ("xsk: Optimize for aligned case")
Reported-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Link: https://lore.kernel.org/bpf/20210929061403.8587-1-magnus.karlsson@gmail.com
net/xdp/xsk_buff_pool.c

index 96b14e51ba7ecd52610750184e9d6c0c8b594902..90c4e1e819d38b6bced115d1a2ccaef5c2b1530b 100644 (file)
@@ -462,7 +462,6 @@ static struct xdp_buff_xsk *__xp_alloc(struct xsk_buff_pool *pool)
        for (;;) {
                if (!xskq_cons_peek_addr_unchecked(pool->fq, &addr)) {
                        pool->fq->queue_empty_descs++;
-                       xp_release(xskb);
                        return NULL;
                }