OSDN Git Service

tcp: add tcpi_segs_in and tcpi_segs_out to tcp_info
[sagit-ice-cold/kernel_xiaomi_msm8998.git] / net / ipv6 / tcp_ipv6.c
index ad51df8..beac6bf 100644 (file)
@@ -946,7 +946,8 @@ static struct sock *tcp_v6_hnd_req(struct sock *sk, struct sk_buff *skb)
                                   &ipv6_hdr(skb)->daddr, tcp_v6_iif(skb));
        if (req) {
                nsk = tcp_check_req(sk, skb, req, false);
-               reqsk_put(req);
+               if (!nsk)
+                       reqsk_put(req);
                return nsk;
        }
        nsk = __inet6_lookup_established(sock_net(sk), &tcp_hashinfo,
@@ -1420,6 +1421,7 @@ process:
        skb->dev = NULL;
 
        bh_lock_sock_nested(sk);
+       tcp_sk(sk)->segs_in += max_t(u16, 1, skb_shinfo(skb)->gso_segs);
        ret = 0;
        if (!sock_owned_by_user(sk)) {
                if (!tcp_prequeue(sk, skb))