aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorZheng Yan <zheng.z.yan@intel.com>2011-09-18 22:37:34 -0400
committerHerton Ronaldo Krzesinski <herton.krzesinski@canonical.com>2011-10-17 13:33:08 -0400
commit8acb2cf3cfe52aa04c9026224ae36d38672249e1 (patch)
tree67ee5c71c2b1081ac1487b08234b9f736a760090 /net/ipv4
parentd4048f1e4167929afee58713d5a7400d608a70c9 (diff)
tcp: fix validation of D-SACK
BugLink: http://bugs.launchpad.net/bugs/868628 [ 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 bef9f04c22b..b6771f9eb9d 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,
1115 return 0; 1115 return 0;
1116 1116
1117 /* ...Then it's D-SACK, and must reside below snd_una completely */ 1117 /* ...Then it's D-SACK, and must reside below snd_una completely */
1118 if (!after(end_seq, tp->snd_una)) 1118 if (after(end_seq, tp->snd_una))
1119 return 0; 1119 return 0;
1120 1120
1121 if (!before(start_seq, tp->undo_marker)) 1121 if (!before(start_seq, tp->undo_marker))