Lines Matching defs:subprogs
4360 * not actually arguments passed directly to callback subprogs
6630 * currently present subprog frames as tail call reachable subprogs;
6675 /* All async_cb subprogs use normal kernel stack. If a particular
6679 * checked, the subprogs appearing in async_cb subtrees are already
10566 * interested in validating only BPF helpers that can call subprogs as
17825 * sleepable marks on subprogs, except for dead code
17853 * with precise sleepable marks on subprogs, except for
18041 verbose(env, "LD_ABS is not allowed in subprogs without BTF\n");
18045 verbose(env, "tail_call is not allowed in subprogs without BTF\n");
18179 verbose(env, "number of funcs in func_info doesn't match number of subprogs\n");
18241 /* func_info is not available for hidden subprogs */
20925 /* fix up all subprogs (incl. 'exit') which start >= off */
20975 * code also wouldn't work since we can have subprogs where the dead
21194 struct bpf_subprog_info *subprogs = env->subprog_info;
21209 -(subprogs[0].stack_depth + 8));
21216 subprogs[0].stack_depth += 8;
21218 -subprogs[0].stack_depth);
21317 i + delta < subprogs[1].start) {
21555 /* bpf_prog_run() doesn't call subprogs directly,
21556 * hence main prog stats include the runtime of subprogs.
21557 * subprogs don't have IDs and not reachable via prog_get_next_id
21725 * descriptors from subprogs, so that kernel is not attempting to
21982 /* We only reserve one slot for hidden subprogs in subprog_info. */
22019 struct bpf_subprog_info *subprogs = env->subprog_info;
22020 u16 stack_depth = subprogs[cur_subprog].stack_depth;
22844 if (subprogs[cur_subprog + 1].start == i + delta + 1) {
22845 subprogs[cur_subprog].stack_depth += stack_depth_extra;
22846 subprogs[cur_subprog].stack_extra = stack_depth_extra;
22848 stack_depth = subprogs[cur_subprog].stack_depth;
22855 stack_depth = subprogs[cur_subprog].stack_depth;
22862 env->prog->aux->stack_depth = subprogs[0].stack_depth;
22865 int subprog_start = subprogs[i].start;
22866 int stack_slots = subprogs[i].stack_extra / 8;
22877 stack_depth = subprogs[i].stack_depth;
23019 struct bpf_subprog_info *subprogs = env->subprog_info;
23023 u16 stack_depth = subprogs[cur_subprog].stack_depth;
23048 if (subprogs[cur_subprog + 1].start == i + delta + 1) {
23049 subprogs[cur_subprog].stack_depth += stack_depth_extra;
23051 stack_depth = subprogs[cur_subprog].stack_depth;
23184 * like all global subprogs. We need to determine it only has a single
23269 * BPF global subprogs called from dead code are not validated.
23321 * more global subprogs that we haven't verified yet, so we
23322 * need to do another pass over subprogs to verify those.