Message ID | 20200123235144.93610-1-sdf@google.com |
---|---|
State | Accepted |
Delegated to: | BPF Maintainers |
Headers | show |
Series | [bpf-next] selftests/bpf: initialize duration variable before using | expand |
On Thu, Jan 23, 2020 at 03:51:44PM -0800, Stanislav Fomichev wrote: > From: John Sperbeck <jsperbeck@google.com> > > The 'duration' variable is referenced in the CHECK() macro, and there are > some uses of the macro before 'duration' is set. The clang compiler Acked-by: Martin KaFai Lau <kafai@fb.com>
On 1/24/20 12:51 AM, Stanislav Fomichev wrote: > From: John Sperbeck <jsperbeck@google.com> > > The 'duration' variable is referenced in the CHECK() macro, and there are > some uses of the macro before 'duration' is set. The clang compiler > (validly) complains about this. > > Sample error: > > .../selftests/bpf/prog_tests/fexit_test.c:23:6: warning: variable 'duration' is uninitialized when used here [-Wuninitialized] > if (CHECK(err, "prog_load sched cls", "err %d errno %d\n", err, errno)) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > .../selftests/bpf/test_progs.h:134:25: note: expanded from macro 'CHECK' > if (CHECK(err, "prog_load sched cls", "err %d errno %d\n", err, errno)) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > _CHECK(condition, tag, duration, format) > ^~~~~~~~ > > Signed-off-by: John Sperbeck <jsperbeck@google.com> > Signed-off-by: Stanislav Fomichev <sdf@google.com> Applied, thanks!
diff --git a/tools/testing/selftests/bpf/prog_tests/fentry_test.c b/tools/testing/selftests/bpf/prog_tests/fentry_test.c index e1a379f5f7d2..5cc06021f27d 100644 --- a/tools/testing/selftests/bpf/prog_tests/fentry_test.c +++ b/tools/testing/selftests/bpf/prog_tests/fentry_test.c @@ -9,7 +9,7 @@ void test_fentry_test(void) struct test_pkt_access *pkt_skel = NULL; struct fentry_test *fentry_skel = NULL; int err, pkt_fd, i; - __u32 duration, retval; + __u32 duration = 0, retval; __u64 *result; pkt_skel = test_pkt_access__open_and_load(); diff --git a/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c b/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c index db5c74d2ce6d..cde463af7071 100644 --- a/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c +++ b/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c @@ -11,7 +11,7 @@ static void test_fexit_bpf2bpf_common(const char *obj_file, int err, pkt_fd, i; struct bpf_link **link = NULL; struct bpf_program **prog = NULL; - __u32 duration, retval; + __u32 duration = 0, retval; struct bpf_map *data_map; const int zero = 0; u64 *result = NULL; diff --git a/tools/testing/selftests/bpf/prog_tests/fexit_test.c b/tools/testing/selftests/bpf/prog_tests/fexit_test.c index f99013222c74..d2c3655dd7a3 100644 --- a/tools/testing/selftests/bpf/prog_tests/fexit_test.c +++ b/tools/testing/selftests/bpf/prog_tests/fexit_test.c @@ -13,7 +13,7 @@ void test_fexit_test(void) int err, pkt_fd, kfree_skb_fd, i; struct bpf_link *link[6] = {}; struct bpf_program *prog[6]; - __u32 duration, retval; + __u32 duration = 0, retval; struct bpf_map *data_map; const int zero = 0; u64 result[6];