summaryrefslogtreecommitdiff
path: root/net/ipv4
diff options
context:
space:
mode:
authorZheng Yan <zheng.z.yan@intel.com>2011-09-18 22:37:34 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-10-03 11:40:54 -0700
commit616ea55abc53ced58c4097b33b26abea01a743d4 (patch)
tree745fddbb114a33925b15f5ca53f4e7bd5df31fec /net/ipv4
parent265d5c2eb22550566cf4193df46596dac439374c (diff)
tcp: fix validation of D-SACK
[ Upstream commit f779b2d60ab95c17f1e025778ed0df3ec2f05d75 ] D-SACK is allowed to reside below snd_una. But the corresponding check in tcp_is_sackblock_valid() is the exact opposite. It looks like a typo. Signed-off-by: Zheng Yan <zheng.z.yan@intel.com> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/tcp_input.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index bef9f04c22ba..b6771f9eb9d4 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -1115,7 +1115,7 @@ static int tcp_is_sackblock_valid(struct tcp_sock *tp, int is_dsack,
return 0;
/* ...Then it's D-SACK, and must reside below snd_una completely */
- if (!after(end_seq, tp->snd_una))
+ if (after(end_seq, tp->snd_una))
return 0;
if (!before(start_seq, tp->undo_marker))