diff options
| author | David S. Miller <[email protected]> | 2010-10-04 18:56:38 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2010-10-04 18:56:38 +0000 |
| commit | 21a180cda012e1f93e362dd4a9b0bfd3d8c92940 (patch) | |
| tree | 0e0d10baa3fdcd8ffbc6881076ff1695808dad9d /net/ipv4/tcp_input.c | |
| parent | net: introduce DST_NOCACHE flag (diff) | |
| parent | sctp: Fix out-of-bounds reading in sctp_asoc_get_hmac() (diff) | |
| download | kernel-21a180cda012e1f93e362dd4a9b0bfd3d8c92940.tar.gz kernel-21a180cda012e1f93e362dd4a9b0bfd3d8c92940.zip | |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
net/ipv4/Kconfig
net/ipv4/tcp_timer.c
Diffstat (limited to 'net/ipv4/tcp_input.c')
| -rw-r--r-- | net/ipv4/tcp_input.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index eaf20e7e61da..f6fdd727a23d 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -2532,7 +2532,8 @@ static void tcp_mark_head_lost(struct sock *sk, int packets) cnt += tcp_skb_pcount(skb); if (cnt > packets) { - if (tcp_is_sack(tp) || (oldcnt >= packets)) + if ((tcp_is_sack(tp) && !tcp_is_fack(tp)) || + (oldcnt >= packets)) break; mss = skb_shinfo(skb)->gso_size; |
