tcp: md5: increment sk_drops on syn_recv state
authorEric Dumazet <edumazet@google.com>
Wed, 24 Aug 2016 15:50:24 +0000 (08:50 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 25 Aug 2016 23:43:11 +0000 (16:43 -0700)
TCP MD5 mismatches do increment sk_drops counter in all states but
SYN_RECV.

This is very unlikely to happen in the real world, but worth adding
to help diagnostics.

We increase the parent (listener) sk_drops.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_ipv4.c
net/ipv6/tcp_ipv6.c

index 32b048e524d6773538918eca175b3f422f9c2aa7..436d978c6c3955dfa9a55f86b1412624ba2ed9fa 100644 (file)
@@ -1602,6 +1602,7 @@ process:
 
                sk = req->rsk_listener;
                if (unlikely(tcp_v4_inbound_md5_hash(sk, skb))) {
+                       sk_drops_add(sk, skb);
                        reqsk_put(req);
                        goto discard_it;
                }
index e0f46439e391f2a8b2fac2e13b6f61a11c082715..ac0ed7bda4067a2630cc1cbb546ced3f3ded4c2c 100644 (file)
@@ -1409,6 +1409,7 @@ process:
                sk = req->rsk_listener;
                tcp_v6_fill_cb(skb, hdr, th);
                if (tcp_v6_inbound_md5_hash(sk, skb)) {
+                       sk_drops_add(sk, skb);
                        reqsk_put(req);
                        goto discard_it;
                }