diff options
author | Daniel Borkmann <daniel@iogearbox.net> | 2017-02-16 22:24:49 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-02-17 13:40:04 -0500 |
commit | 9383191da4e40360a5d880fbe6bb03911c61621b (patch) | |
tree | c92770092ea2f7d4d3fdc207c80b8266547572f6 /kernel/bpf | |
parent | c78f8bdfa11fcceb9723c61212e4bd8f76c87f9e (diff) | |
download | op-kernel-dev-9383191da4e40360a5d880fbe6bb03911c61621b.zip op-kernel-dev-9383191da4e40360a5d880fbe6bb03911c61621b.tar.gz |
bpf: remove stubs for cBPF from arch code
Remove the dummy bpf_jit_compile() stubs for eBPF JITs and make
that a single __weak function in the core that can be overridden
similarly to the eBPF one. Also remove stale pr_err() mentions
of bpf_jit_compile.
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel/bpf')
-rw-r--r-- | kernel/bpf/core.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/kernel/bpf/core.c b/kernel/bpf/core.c index fddd76b..2831ba1 100644 --- a/kernel/bpf/core.c +++ b/kernel/bpf/core.c @@ -1154,12 +1154,22 @@ const struct bpf_func_proto bpf_tail_call_proto = { .arg3_type = ARG_ANYTHING, }; -/* For classic BPF JITs that don't implement bpf_int_jit_compile(). */ +/* Stub for JITs that only support cBPF. eBPF programs are interpreted. + * It is encouraged to implement bpf_int_jit_compile() instead, so that + * eBPF and implicitly also cBPF can get JITed! + */ struct bpf_prog * __weak bpf_int_jit_compile(struct bpf_prog *prog) { return prog; } +/* Stub for JITs that support eBPF. All cBPF code gets transformed into + * eBPF by the kernel and is later compiled by bpf_int_jit_compile(). + */ +void __weak bpf_jit_compile(struct bpf_prog *prog) +{ +} + bool __weak bpf_helper_changes_pkt_data(void *func) { return false; |