diff options
Diffstat (limited to 'net/ipv4/tcp_ipv4.c')
| -rw-r--r-- | net/ipv4/tcp_ipv4.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index c3588b4fd979..4baf1943b1bd 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); |
