summaryrefslogtreecommitdiff
path: root/include/linux/timerqueue.h
diff options
context:
space:
mode:
authorEmil Tsalapatis <emil@etsalapatis.com>2026-10-02 10:52:17 +0000
committerAlexei Starovoitov <ast@kernel.org>2026-10-02 13:00:59 +0000
commit23290213e1abfc71731a6491ca278141e8cbbf3b (patch)
tree407a1a4c11747b9249b597059ad63fc098adb9d7 /include/linux/timerqueue.h
parentbaf4e66f038fb1181dd0b1085c6b0913399c289f (diff)
downloadlinux-next-23290213e1abfc71731a6491ca278141e8cbbf3b.tar.gz
linux-next-23290213e1abfc71731a6491ca278141e8cbbf3b.zip
bpf: Support per-call-site kfunc specialization
specialize_kfunc() currently updates the canonical kfunc descriptor in place. Different call sites therefore cannot select different specializations of the same kfunc, and the selected target depends on verification order. Keep canonical descriptors unchanged for verifier lookups. Specialize a copy for each call site, then reuse or append an immutable target descriptor and store its index in the finalized call instruction. Allow space for one canonical and one specialized target per kfunc. This is conservative because most kfuncs do not specialize. Adding specialized kfunc versions does not require resorting the array because lookups are only used for deduplication and func_model lookup. Deduplication for specialized kfuncs is handled by the specialization process itself, while all specializations of a function share the same proto and func_model. Signed-off-by: Emil Tsalapatis <emil@etsalapatis.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://patch.msgid.link/20261002105218.6171-7-emil@etsalapatis.com
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions