diff options
| author | Kumar Kartikeya Dwivedi <memxor@gmail.com> | 2026-09-03 16:44:25 +0200 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2026-09-03 09:44:54 -0700 |
| commit | a453d6e3b8e8e1a321c8744d6189d763af9287d0 (patch) | |
| tree | 3a89d4d274ece01dace4ccddc737049d2b7b4d60 /scripts/Makefile.thinlto | |
| parent | 08b4dc83d981bf9136d37aaa4f5cd021ba0d8f2b (diff) | |
| download | linux-a453d6e3b8e8e1a321c8744d6189d763af9287d0.tar.gz linux-a453d6e3b8e8e1a321c8744d6189d763af9287d0.zip | |
bpf: Mark sched_process_wait argument as nullable
do_wait() passes wo->wo_pid to the sched_process_wait tracepoint.
kernel_wait4() leaves wo_pid NULL for wait4(-1), and
kernel_waitid_prepare() does likewise for waitid(P_ALL).
btf_ctx_access() currently types argument 0 as PTR_TO_BTF_ID |
PTR_TRUSTED. Without PTR_MAYBE_NULL, the verifier accepts an unchecked
dereference. Trusted pointer loads have no fault protection, so a wait for
any child can then cause a NULL pointer dereference in JITed BPF code.
Add sched_process_wait to raw_tp_null_args[] with argument 0 marked
nullable. The verifier rejects an unchecked dereference while preserving
access after the program checks the pointer for NULL.
Fixes: 838a10bd2ebf ("bpf: Augment raw_tp arguments with PTR_MAYBE_NULL")
Reported-by: Nicholas Carlini <npc@anthropic.com>
Suggested-by: Nicholas Carlini <npc@anthropic.com>
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Link: https://lore.kernel.org/r/20260903144433.1716731-8-memxor@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
