]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bpf: Allow access to const void pointer arguments in tracing programs
authorKaFai Wan <mannkafai@gmail.com>
Wed, 23 Apr 2025 12:13:28 +0000 (20:13 +0800)
committerAndrii Nakryiko <andrii@kernel.org>
Wed, 23 Apr 2025 18:26:15 +0000 (11:26 -0700)
commit1271a40eeafa8e9b5b76c4d02e2b3812cbc3c280
tree6c96e5c2430452c14dc24b86cdb50862ac0fea6c
parent6aca583f90b0eb159cfd79c1b7f28d7c0108aed6
bpf: Allow access to const void pointer arguments in tracing programs

Adding support to access arguments with const void pointer arguments
in tracing programs.

Currently we allow tracing programs to access void pointers. If we try to
access argument which is pointer to const void like 2nd argument in kfree,
verifier will fail to load the program with;

0: R1=ctx() R10=fp0
; asm volatile ("r2 = *(u64 *)(r1 + 8); ");
0: (79) r2 = *(u64 *)(r1 +8)
func 'kfree' arg1 type UNKNOWN is not a struct

Changing the is_int_ptr to void and generic integer check and renaming
it to is_void_or_int_ptr.

Signed-off-by: KaFai Wan <mannkafai@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Link: https://lore.kernel.org/bpf/20250423121329.3163461-2-mannkafai@gmail.com
kernel/bpf/btf.c