Thread (29 messages) 29 messages, 5 authors, 2026-01-06

Re: [PATCH bpf-next v2 15/16] bpf: Realign skb metadata for TC progs using data_meta

From: Alexei Starovoitov <hidden>
Date: 2026-01-06 02:04:40
Also in: bpf

On Mon, Jan 5, 2026 at 3:19 PM Amery Hung [off-list ref] wrote:
quoted
quoted
I guess we can mark such emitted call in insn_aux_data as finalized
and get_func_proto() isn't needed.
It is a good idea.
Hmm, insn_aux_data has to be marked in gen_{pro,epi}logue since this
is the only place we know whether the call needs fixup or not. However
insn_aux_data is not available yet in gen_{pro,epi}logue because we
haven't resized insn_aux_data.

Can we do some hack based on the fact that calls emitted by
BPF_EMIT_CALL() are finalized while calls emitted by BPF_RAW_INSN()
most likely are not?
Let BPF_EMIT_CALL() mark the call insn as finalized temporarily (e.g.,
.off = 1). Then, when do_misc_fixups() encounters it just reset off to
0 and don't call get_func_proto().
marking inside insn via off=1 or whatever is an option,
but once we remove BPF_CALL_KFUNC from gen_prologue we can
delete add_kfunc_in_insns() altogether and replace it with
a similar loop that does
if (bpf_helper_call()) mark insn_aux_data.

That would be a nice benefit, since add_kfunc_call() from there
was always a bit odd, since we're adding kfuncs early before the main
verifier pass and after, because of gen_prologue.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help