diff options
author | Yonghong Song <yhs@fb.com> | 2019-03-01 01:19:41 -0500 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2019-03-01 19:07:10 -0500 |
commit | b74e21ab7d438117a10d2d331bdfc275fcab2970 (patch) | |
tree | 3711300819df6b134db06ee554bbedc60242dd85 /samples | |
parent | a83de90658280611933d6b3e5044726f63a953f2 (diff) |
samples/bpf: silence compiler warning for xdpsock_user.c
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: 248c7f9c0e21 ("samples/bpf: convert xdpsock to use libbpf for AF_XDP access")
Signed-off-by: Yonghong Song <yhs@fb.com>
Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
Acked-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'samples')
-rw-r--r-- | samples/bpf/xdpsock_user.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/samples/bpf/xdpsock_user.c b/samples/bpf/xdpsock_user.c index 9c76d6d43deb..d08ee1ab7bb4 100644 --- a/samples/bpf/xdpsock_user.c +++ b/samples/bpf/xdpsock_user.c | |||
@@ -446,7 +446,7 @@ static void kick_tx(struct xsk_socket_info *xsk) | |||
446 | 446 | ||
447 | static inline void complete_tx_l2fwd(struct xsk_socket_info *xsk) | 447 | static inline void complete_tx_l2fwd(struct xsk_socket_info *xsk) |
448 | { | 448 | { |
449 | u32 idx_cq, idx_fq; | 449 | u32 idx_cq = 0, idx_fq = 0; |
450 | unsigned int rcvd; | 450 | unsigned int rcvd; |
451 | size_t ndescs; | 451 | size_t ndescs; |
452 | 452 | ||
@@ -503,7 +503,7 @@ static inline void complete_tx_only(struct xsk_socket_info *xsk) | |||
503 | static void rx_drop(struct xsk_socket_info *xsk) | 503 | static void rx_drop(struct xsk_socket_info *xsk) |
504 | { | 504 | { |
505 | unsigned int rcvd, i; | 505 | unsigned int rcvd, i; |
506 | u32 idx_rx, idx_fq = 0; | 506 | u32 idx_rx = 0, idx_fq = 0; |
507 | int ret; | 507 | int ret; |
508 | 508 | ||
509 | rcvd = xsk_ring_cons__peek(&xsk->rx, BATCH_SIZE, &idx_rx); | 509 | rcvd = xsk_ring_cons__peek(&xsk->rx, BATCH_SIZE, &idx_rx); |
@@ -603,7 +603,7 @@ static void l2fwd(struct xsk_socket_info *xsk) | |||
603 | { | 603 | { |
604 | for (;;) { | 604 | for (;;) { |
605 | unsigned int rcvd, i; | 605 | unsigned int rcvd, i; |
606 | u32 idx_rx, idx_tx = 0; | 606 | u32 idx_rx = 0, idx_tx = 0; |
607 | int ret; | 607 | int ret; |
608 | 608 | ||
609 | for (;;) { | 609 | for (;;) { |