diff options
| author | Amery Hung <ameryhung@gmail.com> | 2026-09-28 11:53:34 -0700 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2026-09-29 10:35:12 +0000 |
| commit | bf82eb0183288ed4e9f045ea15de838e592709ff (patch) | |
| tree | af6b59ba60c313ae259eb51dfec3dd4e9e44f75f /include/linux/timerqueue.h | |
| parent | 46e0744621081c25fe3ccf4e4c270ca2844e7dff (diff) | |
| download | linux-next-bf82eb0183288ed4e9f045ea15de838e592709ff.tar.gz linux-next-bf82eb0183288ed4e9f045ea15de838e592709ff.zip | |
bpf: Check all subprog arguments in the common path
All supported BPF-subprogram argument types now pass through
check_func_arg() from one guarded branch in the legacy validation loop.
Replace that loop and its outgoing-stack validation with
check_func_args().
The scratch prototype is indexed by BTF parameter and the call metadata
carries the BTF function prototype. The existing BTF argument iteration
therefore maps parameters to ABI slots for both kfunc and BPF subprogram
calls, including additional slots occupied by by-value aggregates.
The common checker can return non-EFAULT errors other than -EINVAL, as
the existing BTF-ID path already did. This is compatible with subprog
call handling: only -EFAULT is fatal. Any other error marks BTF
unreliable. Static subprogs can then fall back to inline verification,
while global subprogs reject the call.
Remove the caller-register plumbing that the dedicated loop required.
Signed-off-by: Amery Hung <ameryhung@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://patch.msgid.link/20260928185334.1004200-12-ameryhung@gmail.com
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
