diff options
author | Chenbo Feng <fengc@google.com> | 2017-06-09 12:17:37 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-06-10 16:08:02 -0400 |
commit | 384abed1fe49cd3f473d61d3297a6fec5e420699 (patch) | |
tree | c00243e6e2a85aa433b7cb1fa8001a2d5bf4202a | |
parent | cd99c3776351e1b90ac05ff527553f8a29c03583 (diff) | |
download | op-kernel-dev-384abed1fe49cd3f473d61d3297a6fec5e420699.zip op-kernel-dev-384abed1fe49cd3f473d61d3297a6fec5e420699.tar.gz |
bpf: Remove duplicate tcp_filter hook in ipv6
There are two tcp_filter hooks in tcp_ipv6 ingress path currently.
One is at tcp_v6_rcv and another is in tcp_v6_do_rcv. It seems the
tcp_filter() call inside tcp_v6_do_rcv is redundent and some packet
will be filtered twice in this situation. This will cause trouble
when using eBPF filters to account traffic data.
Signed-off-by: Chenbo Feng <fengc@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 0840543..84ad502 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -1249,9 +1249,6 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb) if (skb->protocol == htons(ETH_P_IP)) return tcp_v4_do_rcv(sk, skb); - if (tcp_filter(sk, skb)) - goto discard; - /* * socket locking is here for SMP purposes as backlog rcv * is currently called with bh processing disabled. |