bpf: Fix various lib and testsuite build failures on 32-bit.

Cannot cast a u64 to a pointer on 32-bit without an intervening (long)
cast otherwise GCC warns.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
David Miller 2018-11-28 12:56:10 -08:00 committed by Alexei Starovoitov
parent 295daee4ba
commit 1ad93ab10e
2 changed files with 6 additions and 6 deletions

View file

@ -466,7 +466,7 @@ int btf__get_from_id(__u32 id, struct btf **btf)
goto exit_free; goto exit_free;
} }
*btf = btf__new((__u8 *)btf_info.btf, btf_info.btf_size, NULL); *btf = btf__new((__u8 *)(long)btf_info.btf, btf_info.btf_size, NULL);
if (IS_ERR(*btf)) { if (IS_ERR(*btf)) {
err = PTR_ERR(*btf); err = PTR_ERR(*btf);
*btf = NULL; *btf = NULL;

View file

@ -524,7 +524,7 @@ static void test_bpf_obj_id(void)
load_time < now - 60 || load_time > now + 60 || load_time < now - 60 || load_time > now + 60 ||
prog_infos[i].created_by_uid != my_uid || prog_infos[i].created_by_uid != my_uid ||
prog_infos[i].nr_map_ids != 1 || prog_infos[i].nr_map_ids != 1 ||
*(int *)prog_infos[i].map_ids != map_infos[i].id || *(int *)(long)prog_infos[i].map_ids != map_infos[i].id ||
strcmp((char *)prog_infos[i].name, expected_prog_name), strcmp((char *)prog_infos[i].name, expected_prog_name),
"get-prog-info(fd)", "get-prog-info(fd)",
"err %d errno %d i %d type %d(%d) info_len %u(%Zu) jit_enabled %d jited_prog_len %u xlated_prog_len %u jited_prog %d xlated_prog %d load_time %lu(%lu) uid %u(%u) nr_map_ids %u(%u) map_id %u(%u) name %s(%s)\n", "err %d errno %d i %d type %d(%d) info_len %u(%Zu) jit_enabled %d jited_prog_len %u xlated_prog_len %u jited_prog %d xlated_prog %d load_time %lu(%lu) uid %u(%u) nr_map_ids %u(%u) map_id %u(%u) name %s(%s)\n",
@ -539,7 +539,7 @@ static void test_bpf_obj_id(void)
load_time, now, load_time, now,
prog_infos[i].created_by_uid, my_uid, prog_infos[i].created_by_uid, my_uid,
prog_infos[i].nr_map_ids, 1, prog_infos[i].nr_map_ids, 1,
*(int *)prog_infos[i].map_ids, map_infos[i].id, *(int *)(long)prog_infos[i].map_ids, map_infos[i].id,
prog_infos[i].name, expected_prog_name)) prog_infos[i].name, expected_prog_name))
goto done; goto done;
} }
@ -585,7 +585,7 @@ static void test_bpf_obj_id(void)
bzero(&prog_info, sizeof(prog_info)); bzero(&prog_info, sizeof(prog_info));
info_len = sizeof(prog_info); info_len = sizeof(prog_info);
saved_map_id = *(int *)(prog_infos[i].map_ids); saved_map_id = *(int *)((long)prog_infos[i].map_ids);
prog_info.map_ids = prog_infos[i].map_ids; prog_info.map_ids = prog_infos[i].map_ids;
prog_info.nr_map_ids = 2; prog_info.nr_map_ids = 2;
err = bpf_obj_get_info_by_fd(prog_fd, &prog_info, &info_len); err = bpf_obj_get_info_by_fd(prog_fd, &prog_info, &info_len);
@ -593,12 +593,12 @@ static void test_bpf_obj_id(void)
prog_infos[i].xlated_prog_insns = 0; prog_infos[i].xlated_prog_insns = 0;
CHECK(err || info_len != sizeof(struct bpf_prog_info) || CHECK(err || info_len != sizeof(struct bpf_prog_info) ||
memcmp(&prog_info, &prog_infos[i], info_len) || memcmp(&prog_info, &prog_infos[i], info_len) ||
*(int *)prog_info.map_ids != saved_map_id, *(int *)(long)prog_info.map_ids != saved_map_id,
"get-prog-info(next_id->fd)", "get-prog-info(next_id->fd)",
"err %d errno %d info_len %u(%Zu) memcmp %d map_id %u(%u)\n", "err %d errno %d info_len %u(%Zu) memcmp %d map_id %u(%u)\n",
err, errno, info_len, sizeof(struct bpf_prog_info), err, errno, info_len, sizeof(struct bpf_prog_info),
memcmp(&prog_info, &prog_infos[i], info_len), memcmp(&prog_info, &prog_infos[i], info_len),
*(int *)prog_info.map_ids, saved_map_id); *(int *)(long)prog_info.map_ids, saved_map_id);
close(prog_fd); close(prog_fd);
} }
CHECK(nr_id_found != nr_iters, CHECK(nr_id_found != nr_iters,