[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260119-skb-meta-bpf-emit-call-from-prologue-v1-0-e8b88d6430d8@cloudflare.com>
Date: Mon, 19 Jan 2026 20:53:50 +0100
From: Jakub Sitnicki <jakub@...udflare.com>
To: bpf@...r.kernel.org
Cc: Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
John Fastabend <john.fastabend@...il.com>,
Andrii Nakryiko <andrii@...nel.org>,
Martin KaFai Lau <martin.lau@...ux.dev>,
Eduard Zingerman <eddyz87@...il.com>, Song Liu <song@...nel.org>,
Yonghong Song <yonghong.song@...ux.dev>, KP Singh <kpsingh@...nel.org>,
Stanislav Fomichev <sdf@...ichev.me>, Hao Luo <haoluo@...gle.com>,
Jiri Olsa <jolsa@...nel.org>, Amery Hung <ameryhung@...il.com>,
netdev@...r.kernel.org, kernel-team@...udflare.com
Subject: [PATCH bpf-next 0/4] Switch from kfuncs to direct helper calls in
prologue/epilogue
This series enables direct helper calls using BPF_EMIT_CALL from prologue
and epilogue code generated by verifier ops. The goal is to simplify the
calling convention and remove kfunc support from prologue/epilogue, as
suggested by Alexei [1].
Patch 1 adds the infrastructure to mark direct helper calls as finalized
(already resolved) so the verifier skips the imm fixup.
Patch 2 converts bpf_qdisc to use BPF_EMIT_CALL instead of BPF_CALL_KFUNC
for the init prologue and reset/destroy epilogue helpers.
Patch 3 removes the now-unused kfunc support code from prologue/epilogue
handling in the verifier.
Patch 4 removes the corresponding selftests that exercised kfuncs in
prologue/epilogue.
[1] https://lore.kernel.org/bpf/CAADnVQJ=kmVAZsgkG9P2nEBTUG3E4PrDG=Yz8tfeFysH4ZBqVw@mail.gmail.com/
Signed-off-by: Jakub Sitnicki <jakub@...udflare.com>
---
Jakub Sitnicki (4):
bpf, verifier: Support direct helper calls from prologue/epilogue
bpf: net_sched: Use direct helper calls instead of kfuncs in pro/epilogue
bpf: Remove kfunc support in prologue and epilogue
selftests/bpf: Remove tests for prologue/epilogue with kfuncs
include/linux/bpf_verifier.h | 1 +
kernel/bpf/verifier.c | 47 +++++------
net/core/filter.c | 3 +-
net/sched/bpf_qdisc.c | 76 ++++++++----------
.../selftests/bpf/prog_tests/pro_epilogue.c | 2 -
.../selftests/bpf/progs/pro_epilogue_with_kfunc.c | 88 ---------------------
.../testing/selftests/bpf/test_kmods/bpf_testmod.c | 92 ----------------------
7 files changed, 61 insertions(+), 248 deletions(-)
Powered by blists - more mailing lists