Skip to content

Commit

Permalink
samples/bpf: silence compiler warning for xdpsock_user.c
Browse files Browse the repository at this point in the history
Compiling xdpsock_user.c with 4.8.5, I hit the following
compilation warning:
    HOSTCC  samples/bpf/xdpsock_user.o
  /data/users/yhs/work/net-next/samples/bpf/xdpsock_user.c: In function ‘main’:
  /data/users/yhs/work/net-next/samples/bpf/xdpsock_user.c:449:6: warning: ‘idx_cq’ may be used unini
  tialized in this function [-Wmaybe-uninitialized]
    u32 idx_cq, idx_fq;
        ^
  /data/users/yhs/work/net-next/samples/bpf/xdpsock_user.c:606:7: warning: ‘idx_rx’ may be used unini
  tialized in this function [-Wmaybe-uninitialized]
     u32 idx_rx, idx_tx = 0;
         ^
  /data/users/yhs/work/net-next/samples/bpf/xdpsock_user.c:506:6: warning: ‘idx_rx’ may be used unini
  tialized in this function [-Wmaybe-uninitialized]
    u32 idx_rx, idx_fq = 0;

As an example, the code pattern looks like:
    u32 idx_cq;
    ...
    ret = xsk_ring_prod__reserve(&xsk->umem->fq, rcvd, &idx_fq);
    if (ret) {
      ...
    }
    ... idx_fq ...
The compiler warns since it does not know whether &idx_fq is assigned
or not inside the library function xsk_ring_prod__reserve().

Let us assign an initial value 0 to such auto variables to silence
compiler warning.

Fixes: 248c7f9 ("samples/bpf: convert xdpsock to use libbpf for AF_XDP access")
Signed-off-by: Yonghong Song <[email protected]>
Acked-by: Jonathan Lemon <[email protected]>
Acked-by: Song Liu <[email protected]>
Signed-off-by: Daniel Borkmann <[email protected]>
  • Loading branch information
yonghong-song authored and borkmann committed Mar 2, 2019
1 parent a83de90 commit b74e21a
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions samples/bpf/xdpsock_user.c
Original file line number Diff line number Diff line change
Expand Up @@ -446,7 +446,7 @@ static void kick_tx(struct xsk_socket_info *xsk)

static inline void complete_tx_l2fwd(struct xsk_socket_info *xsk)
{
u32 idx_cq, idx_fq;
u32 idx_cq = 0, idx_fq = 0;
unsigned int rcvd;
size_t ndescs;

Expand Down Expand Up @@ -503,7 +503,7 @@ static inline void complete_tx_only(struct xsk_socket_info *xsk)
static void rx_drop(struct xsk_socket_info *xsk)
{
unsigned int rcvd, i;
u32 idx_rx, idx_fq = 0;
u32 idx_rx = 0, idx_fq = 0;
int ret;

rcvd = xsk_ring_cons__peek(&xsk->rx, BATCH_SIZE, &idx_rx);
Expand Down Expand Up @@ -603,7 +603,7 @@ static void l2fwd(struct xsk_socket_info *xsk)
{
for (;;) {
unsigned int rcvd, i;
u32 idx_rx, idx_tx = 0;
u32 idx_rx = 0, idx_tx = 0;
int ret;

for (;;) {
Expand Down

0 comments on commit b74e21a

Please sign in to comment.