mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 00:22:00 +02:00
bpf: save the start of functions in bpf_prog_aux
Introduce a new subprog_start field in bpf_prog_aux. This field may be used by JIT compilers wanting to know the real absolute xlated offset of the function being jitted. The func_info[func_id] may have served this purpose, but func_info may be NULL, so JIT compilers can't rely on it. Signed-off-by: Anton Protopopov <a.s.protopopov@gmail.com> Acked-by: Eduard Zingerman <eddyz87@gmail.com> Link: https://lore.kernel.org/r/20251019202145.3944697-3-a.s.protopopov@gmail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
6ea5fc92a0
commit
f7d72d0b3f
|
|
@ -1623,6 +1623,7 @@ struct bpf_prog_aux {
|
|||
u32 ctx_arg_info_size;
|
||||
u32 max_rdonly_access;
|
||||
u32 max_rdwr_access;
|
||||
u32 subprog_start;
|
||||
struct btf *attach_btf;
|
||||
struct bpf_ctx_arg_aux *ctx_arg_info;
|
||||
void __percpu *priv_stack_ptr;
|
||||
|
|
|
|||
|
|
@ -21607,6 +21607,7 @@ static int jit_subprogs(struct bpf_verifier_env *env)
|
|||
func[i]->aux->func_idx = i;
|
||||
/* Below members will be freed only at prog->aux */
|
||||
func[i]->aux->btf = prog->aux->btf;
|
||||
func[i]->aux->subprog_start = subprog_start;
|
||||
func[i]->aux->func_info = prog->aux->func_info;
|
||||
func[i]->aux->func_info_cnt = prog->aux->func_info_cnt;
|
||||
func[i]->aux->poke_tab = prog->aux->poke_tab;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user