]> git.baikalelectronics.ru Git - kernel.git/commit
bpf, x64: Add predicate for bpf2bpf with tailcalls support in JIT
authorTony Ambardar <tony.ambardar@gmail.com>
Fri, 17 Jun 2022 10:57:34 +0000 (12:57 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 21 Jun 2022 16:52:04 +0000 (18:52 +0200)
commit5c1f323cede0661a6946e947376868e40357e36d
treef42808f3e806be15132e6978a1f2501eef59372b
parent7dcea5c7202d70c20ee1fbbe04852221f07431e9
bpf, x64: Add predicate for bpf2bpf with tailcalls support in JIT

The BPF core/verifier is hard-coded to permit mixing bpf2bpf and tail
calls for only x86-64. Change the logic to instead rely on a new weak
function 'bool bpf_jit_supports_subprog_tailcalls(void)', which a capable
JIT backend can override.

Update the x86-64 eBPF JIT to reflect this.

Signed-off-by: Tony Ambardar <Tony.Ambardar@gmail.com>
[jakub: drop MIPS bits and tweak patch subject]
Signed-off-by: Jakub Sitnicki <jakub@cloudflare.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20220617105735.733938-2-jakub@cloudflare.com
arch/x86/net/bpf_jit_comp.c
include/linux/filter.h
kernel/bpf/core.c
kernel/bpf/verifier.c