diff options
author | David S. Miller <davem@davemloft.net> | 2014-05-15 16:32:20 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-05-15 16:32:20 -0400 |
commit | 1f499d6a3b5e377312d607e6e9c055f4210ad0b7 (patch) | |
tree | 67daf2164c9c5b633160489d637b8ecc84b62881 /net | |
parent | 9509b1c150ebbffce0a0480ff21f43e3cd3b2c32 (diff) | |
parent | 8f577cadf7181243d336be9aba40c1bcc02c4c54 (diff) |
Merge branch 'filter-next'
Alexei Starovoitov says:
====================
internal BPF jit for x64 and JITed seccomp
Internal BPF JIT compiler for x86_64 replaces classic BPF JIT.
Use it in seccomp and in tracing filters (sent as separate patch)
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/core/filter.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/net/core/filter.c b/net/core/filter.c index c442a0d7d0f7..32c5b44c537e 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -1524,6 +1524,10 @@ out_err: return ERR_PTR(err); } +void __weak bpf_int_jit_compile(struct sk_filter *prog) +{ +} + static struct sk_filter *__sk_prepare_filter(struct sk_filter *fp, struct sock *sk) { @@ -1544,9 +1548,12 @@ static struct sk_filter *__sk_prepare_filter(struct sk_filter *fp, /* JIT compiler couldn't process this filter, so do the * internal BPF translation for the optimized interpreter. */ - if (!fp->jited) + if (!fp->jited) { fp = __sk_migrate_filter(fp, sk); + /* Probe if internal BPF can be jit-ed */ + bpf_int_jit_compile(fp); + } return fp; } |