summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZheng Yan <zheng.z.yan@intel.com>2011-09-19 04:37:34 +0200
committerDavid S. Miller <davem@davemloft.net>2011-09-19 04:37:34 +0200
commitf779b2d60ab95c17f1e025778ed0df3ec2f05d75 (patch)
tree0a83ff862dd34ff9f9864212af8faf06ea526a96
parenttcp: fix build error if !CONFIG_SYN_COOKIES (diff)
downloadlinux-f779b2d60ab95c17f1e025778ed0df3ec2f05d75.tar.xz
linux-f779b2d60ab95c17f1e025778ed0df3ec2f05d75.zip
tcp: fix validation of D-SACK
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>
-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 ea0d2183df4b..21fab3edb92c 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -1124,7 +1124,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))