mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 08:43:31 +00:00
bpf: fix visit_insn()'s detection of BPF_FUNC_timer_set_callback helper
It's not correct to assume that any BPF_CALL instruction is a helper call. Fix visit_insn()'s detection of bpf_timer_set_callback() helper by also checking insn->code == 0. For kfuncs insn->code would be set to BPF_PSEUDO_KFUNC_CALL, and for subprog calls it will be BPF_PSEUDO_CALL. Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/r/20230302235015.2044271-8-andrii@kernel.org Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
653ae3a874
commit
c1ee85a980
1 changed files with 1 additions and 1 deletions
|
@ -13500,7 +13500,7 @@ static int visit_insn(int t, struct bpf_verifier_env *env)
|
|||
return DONE_EXPLORING;
|
||||
|
||||
case BPF_CALL:
|
||||
if (insn->imm == BPF_FUNC_timer_set_callback)
|
||||
if (insn->src_reg == 0 && insn->imm == BPF_FUNC_timer_set_callback)
|
||||
/* Mark this call insn as a prune point to trigger
|
||||
* is_state_visited() check before call itself is
|
||||
* processed by __check_func_call(). Otherwise new
|
||||
|
|
Loading…
Add table
Reference in a new issue