Commit e860a98c authored by Yonghong Song's avatar Yonghong Song Committed by Andrii Nakryiko
Browse files

selftests/bpf: Fix build error due to certain uninitialized variables



With the latest llvm21 compiler, I hit several errors when building bpf
selftests. Some of errors look like below:

  test_maps.c:565:40: error: variable 'val' is uninitialized when passed as a
      const pointer argument here [-Werror,-Wuninitialized-const-pointer]
    565 |         assert(bpf_map_update_elem(fd, NULL, &val, 0) < 0 &&
        |                                               ^~~

  prog_tests/bpf_iter.c:400:25: error: variable 'c' is uninitialized when passed
      as a const pointer argument here [-Werror,-Wuninitialized-const-pointer]
  400 |         write(finish_pipe[1], &c, 1);
      |                                ^

Some other errors have similar the pattern as the above.

These errors are fixed by initializing those variables properly.

Signed-off-by: default avatarYonghong Song <yonghong.song@linux.dev>
Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20250715185910.3659447-1-yonghong.song@linux.dev
parent ea2aecdf
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@
static void test_fail_cases(void)
{
	LIBBPF_OPTS(bpf_map_create_opts, opts);
	__u32 value;
	__u32 value = 0;
	int fd, err;

	/* Invalid key size */
+1 −1
Original line number Diff line number Diff line
@@ -323,7 +323,7 @@ static void test_task_pidfd(void)
static void test_task_sleepable(void)
{
	struct bpf_iter_tasks *skel;
	int pid, status, err, data_pipe[2], finish_pipe[2], c;
	int pid, status, err, data_pipe[2], finish_pipe[2], c = 0;
	char *test_data = NULL;
	char *test_data_long = NULL;
	char *data[2];
+1 −1
Original line number Diff line number Diff line
@@ -251,7 +251,7 @@ static void test_uretprobe_syscall_call(void)
		.retprobe = true,
	);
	struct uprobe_syscall_executed *skel;
	int pid, status, err, go[2], c;
	int pid, status, err, go[2], c = 0;

	if (!ASSERT_OK(pipe(go), "pipe"))
		return;
+1 −1
Original line number Diff line number Diff line
@@ -268,7 +268,7 @@ static void test_verify_pkcs7_sig_from_map(void)
	char *tmp_dir;
	struct test_verify_pkcs7_sig *skel = NULL;
	struct bpf_map *map;
	struct data data;
	struct data data = {};
	int ret, zero = 0;

	/* Trigger creation of session keyring. */
+2 −2
Original line number Diff line number Diff line
@@ -535,7 +535,7 @@ static void test_devmap_hash(unsigned int task, void *data)
static void test_queuemap(unsigned int task, void *data)
{
	const int MAP_SIZE = 32;
	__u32 vals[MAP_SIZE + MAP_SIZE/2], val;
	__u32 vals[MAP_SIZE + MAP_SIZE/2], val = 0;
	int fd, i;

	/* Fill test values to be used */
@@ -591,7 +591,7 @@ static void test_queuemap(unsigned int task, void *data)
static void test_stackmap(unsigned int task, void *data)
{
	const int MAP_SIZE = 32;
	__u32 vals[MAP_SIZE + MAP_SIZE/2], val;
	__u32 vals[MAP_SIZE + MAP_SIZE/2], val = 0;
	int fd, i;

	/* Fill test values to be used */