-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
selftests/bpf: Ensure snprintf_btf/bpf_iter tests compatibility with …
…old vmlinux.h Andrii reports that bpf selftests relying on "struct btf_ptr" and BTF_F_* values will not build as vmlinux.h for older kernels will not include "struct btf_ptr" or the BTF_F_* enum values. Undefine and redefine them to work around this. Fixes: b72091b ("selftests/bpf: Add test for bpf_seq_printf_btf helper") Fixes: 076a95f ("selftests/bpf: Add bpf_snprintf_btf helper tests") Reported-by: Andrii Nakryiko <andrii.nakryiko@gmail.com> Signed-off-by: Alan Maguire <alan.maguire@oracle.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Andrii Nakryiko <andriin@fb.com> Link: https://lore.kernel.org/bpf/1601379151-21449-3-git-send-email-alan.maguire@oracle.com
- Loading branch information
Alan Maguire
authored and
Alexei Starovoitov
committed
Sep 29, 2020
1 parent
96c4805
commit cfe7768
Showing
3 changed files
with
51 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
/* Copyright (c) 2020, Oracle and/or its affiliates. */ | ||
/* "undefine" structs in vmlinux.h, because we "override" them below */ | ||
#define btf_ptr btf_ptr___not_used | ||
#define BTF_F_COMPACT BTF_F_COMPACT___not_used | ||
#define BTF_F_NONAME BTF_F_NONAME___not_used | ||
#define BTF_F_PTR_RAW BTF_F_PTR_RAW___not_used | ||
#define BTF_F_ZERO BTF_F_ZERO___not_used | ||
#include "vmlinux.h" | ||
#undef btf_ptr | ||
#undef BTF_F_COMPACT | ||
#undef BTF_F_NONAME | ||
#undef BTF_F_PTR_RAW | ||
#undef BTF_F_ZERO | ||
|
||
struct btf_ptr { | ||
void *ptr; | ||
__u32 type_id; | ||
__u32 flags; | ||
}; | ||
|
||
enum { | ||
BTF_F_COMPACT = (1ULL << 0), | ||
BTF_F_NONAME = (1ULL << 1), | ||
BTF_F_PTR_RAW = (1ULL << 2), | ||
BTF_F_ZERO = (1ULL << 3), | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters