diff options
author | Lorenz Bauer <lmb@cloudflare.com> | 2019-05-08 17:49:32 +0100 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2019-05-09 15:53:56 -0700 |
commit | 07b619919d3d5401adc9bc6b79dcf12cc2c6d485 (patch) | |
tree | 7592791ba5b9f6bd2dbdb17b0537f4eb0df23b43 /tools | |
parent | 494bc1d281b5a9f02a81249fa566d8c7e390c50c (diff) | |
download | lwn-07b619919d3d5401adc9bc6b79dcf12cc2c6d485.tar.gz lwn-07b619919d3d5401adc9bc6b79dcf12cc2c6d485.zip |
selftests: bpf: initialize bpf_object pointers where needed
There are a few tests which call bpf_object__close on uninitialized
bpf_object*, which may segfault. Explicitly zero-initialise these pointers
to avoid this.
Signed-off-by: Lorenz Bauer <lmb@cloudflare.com>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools')
3 files changed, 5 insertions, 2 deletions
diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_verif_scale.c b/tools/testing/selftests/bpf/prog_tests/bpf_verif_scale.c index 23b159d95c3f..b74e2f6e96d0 100644 --- a/tools/testing/selftests/bpf/prog_tests/bpf_verif_scale.c +++ b/tools/testing/selftests/bpf/prog_tests/bpf_verif_scale.c @@ -15,7 +15,7 @@ static int libbpf_debug_print(enum libbpf_print_level level, static int check_load(const char *file) { struct bpf_prog_load_attr attr; - struct bpf_object *obj; + struct bpf_object *obj = NULL; int err, prog_fd; memset(&attr, 0, sizeof(struct bpf_prog_load_attr)); diff --git a/tools/testing/selftests/bpf/prog_tests/task_fd_query_tp.c b/tools/testing/selftests/bpf/prog_tests/task_fd_query_tp.c index d636a4f39476..f9b70e81682b 100644 --- a/tools/testing/selftests/bpf/prog_tests/task_fd_query_tp.c +++ b/tools/testing/selftests/bpf/prog_tests/task_fd_query_tp.c @@ -9,7 +9,7 @@ static void test_task_fd_query_tp_core(const char *probe_name, struct perf_event_attr attr = {}; __u64 probe_offset, probe_addr; __u32 len, prog_id, fd_type; - struct bpf_object *obj; + struct bpf_object *obj = NULL; __u32 duration = 0; char buf[256]; diff --git a/tools/testing/selftests/bpf/prog_tests/tp_attach_query.c b/tools/testing/selftests/bpf/prog_tests/tp_attach_query.c index a2f476f91637..fb095e5cd9af 100644 --- a/tools/testing/selftests/bpf/prog_tests/tp_attach_query.c +++ b/tools/testing/selftests/bpf/prog_tests/tp_attach_query.c @@ -13,6 +13,9 @@ void test_tp_attach_query(void) struct bpf_prog_info prog_info; char buf[256]; + for (i = 0; i < num_progs; i++) + obj[i] = NULL; + snprintf(buf, sizeof(buf), "/sys/kernel/debug/tracing/events/sched/sched_switch/id"); efd = open(buf, O_RDONLY, 0); |