Commit 0811664d authored by Pu Lehui's avatar Pu Lehui Committed by Martin KaFai Lau
Browse files

selftests/bpf: Fix casting error when cross-compiling test_verifier for 32-bit platforms



When cross-compiling test_verifier for 32-bit platforms, the casting error is shown below:

test_verifier.c:1263:27: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
 1263 |  info.xlated_prog_insns = (__u64)*buf;
      |                           ^
cc1: all warnings being treated as errors

Fix it by adding zero-extension for it.

Fixes: 933ff531 ("selftests/bpf: specify expected instructions in test_verifier tests")
Signed-off-by: default avatarPu Lehui <pulehui@huawei.com>
Acked-by: default avatarYonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/r/20221108121945.4104644-1-pulehui@huaweicloud.com


Signed-off-by: default avatarMartin KaFai Lau <martin.lau@kernel.org>
parent eb86559a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1260,7 +1260,7 @@ static int get_xlated_program(int fd_prog, struct bpf_insn **buf, int *cnt)

	bzero(&info, sizeof(info));
	info.xlated_prog_len = xlated_prog_len;
	info.xlated_prog_insns = (__u64)*buf;
	info.xlated_prog_insns = (__u64)(unsigned long)*buf;
	if (bpf_obj_get_info_by_fd(fd_prog, &info, &info_len)) {
		perror("second bpf_obj_get_info_by_fd failed");
		goto out_free_buf;