Commit 282a0f46 authored by Yonghong Song's avatar Yonghong Song Committed by Alexei Starovoitov

bpf: Change return value of verifier function add_subprog()

Currently, verifier function add_subprog() returns 0 for success
and negative value for failure. Change the return value
to be the subprog number for success. This functionality will be
used in the next patch to save a call to find_subprog().
Signed-off-by: default avatarYonghong Song <yhs@fb.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Acked-by: default avatarAndrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20210226204924.3884848-1-yhs@fb.com
parent 14351375
...@@ -1530,7 +1530,7 @@ static int add_subprog(struct bpf_verifier_env *env, int off) ...@@ -1530,7 +1530,7 @@ static int add_subprog(struct bpf_verifier_env *env, int off)
} }
ret = find_subprog(env, off); ret = find_subprog(env, off);
if (ret >= 0) if (ret >= 0)
return 0; return ret;
if (env->subprog_cnt >= BPF_MAX_SUBPROGS) { if (env->subprog_cnt >= BPF_MAX_SUBPROGS) {
verbose(env, "too many subprograms\n"); verbose(env, "too many subprograms\n");
return -E2BIG; return -E2BIG;
...@@ -1538,7 +1538,7 @@ static int add_subprog(struct bpf_verifier_env *env, int off) ...@@ -1538,7 +1538,7 @@ static int add_subprog(struct bpf_verifier_env *env, int off)
env->subprog_info[env->subprog_cnt++].start = off; env->subprog_info[env->subprog_cnt++].start = off;
sort(env->subprog_info, env->subprog_cnt, sort(env->subprog_info, env->subprog_cnt,
sizeof(env->subprog_info[0]), cmp_subprogs, NULL); sizeof(env->subprog_info[0]), cmp_subprogs, NULL);
return 0; return env->subprog_cnt - 1;
} }
static int check_subprogs(struct bpf_verifier_env *env) static int check_subprogs(struct bpf_verifier_env *env)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment