diff options
| author | Zheng Yan <zheng.z.yan@intel.com> | 2011-09-18 22:37:34 -0400 |
|---|---|---|
| committer | Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com> | 2011-10-17 13:33:08 -0400 |
| commit | 8acb2cf3cfe52aa04c9026224ae36d38672249e1 (patch) | |
| tree | 67ee5c71c2b1081ac1487b08234b9f736a760090 /net/ipv4 | |
| parent | d4048f1e4167929afee58713d5a7400d608a70c9 (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.c | 2 |
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)) |
