On Thu, Apr 17, 2025 at 11:15:46PM +0800, KaFai Wan wrote:
If we try to access argument which is pointer to const void, it's an UNKNOWN type, verifier will fail to load.
Use is_void_or_int_ptr to check if type is void or int pointer. Add a selftest to check it.
KaFai Wan (2): bpf: Allow access to const void pointer arguments in tracing programs selftests/bpf: Add test to access const void pointer argument in tracing program
kernel/bpf/btf.c | 13 +++---------- net/bpf/test_run.c | 8 +++++++- .../selftests/bpf/progs/verifier_btf_ctx_access.c | 12 ++++++++++++ 3 files changed, 22 insertions(+), 11 deletions(-)
Changelog: v2->v3: Addressed comments from jirka
- remove duplicate checks for void pointer
Details in here: https://lore.kernel.org/bpf/20250416161756.1079178-1-kafai.wan@hotmail.com/
Acked-by: Jiri Olsa jolsa@kernel.org
thanks, jirka
v1->v2: Addressed comments from jirka
- use btf_type_is_void to check if type is void
- merge is_void_ptr and is_int_ptr to is_void_or_int_ptr
- fix selftests
Details in here: https://lore.kernel.org/all/20250412170626.3638516-1-kafai.wan@hotmail.com/
-- 2.43.0