aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv4/tcp_ipv4.c6
-rw-r--r--net/ipv6/tcp_ipv6.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index c3588b4fd97..4baf1943b1b 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -1682,8 +1682,10 @@ process:
1682 if (!tcp_prequeue(sk, skb)) 1682 if (!tcp_prequeue(sk, skb))
1683 ret = tcp_v4_do_rcv(sk, skb); 1683 ret = tcp_v4_do_rcv(sk, skb);
1684 } 1684 }
1685 } else 1685 } else if (sk_add_backlog_limited(sk, skb)) {
1686 sk_add_backlog(sk, skb); 1686 bh_unlock_sock(sk);
1687 goto discard_and_relse;
1688 }
1687 bh_unlock_sock(sk); 1689 bh_unlock_sock(sk);
1688 1690
1689 sock_put(sk); 1691 sock_put(sk);
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index 6963a6b6763..c4ea9d5cbfa 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -1740,8 +1740,10 @@ process:
1740 if (!tcp_prequeue(sk, skb)) 1740 if (!tcp_prequeue(sk, skb))
1741 ret = tcp_v6_do_rcv(sk, skb); 1741 ret = tcp_v6_do_rcv(sk, skb);
1742 } 1742 }
1743 } else 1743 } else if (sk_add_backlog_limited(sk, skb)) {
1744 sk_add_backlog(sk, skb); 1744 bh_unlock_sock(sk);
1745 goto discard_and_relse;
1746 }
1745 bh_unlock_sock(sk); 1747 bh_unlock_sock(sk);
1746 1748
1747 sock_put(sk); 1749 sock_put(sk);