aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp/input.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/dccp/input.c')
-rw-r--r--net/dccp/input.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/dccp/input.c b/net/dccp/input.c
index 78b043c458bf..a1900157e2d7 100644
--- a/net/dccp/input.c
+++ b/net/dccp/input.c
@@ -86,7 +86,8 @@ static int dccp_check_seqno(struct sock *sk, struct sk_buff *skb)
86 dh->dccph_type == DCCP_PKT_SYNCACK) { 86 dh->dccph_type == DCCP_PKT_SYNCACK) {
87 if (between48(DCCP_SKB_CB(skb)->dccpd_ack_seq, 87 if (between48(DCCP_SKB_CB(skb)->dccpd_ack_seq,
88 dp->dccps_awl, dp->dccps_awh) && 88 dp->dccps_awl, dp->dccps_awh) &&
89 !before48(DCCP_SKB_CB(skb)->dccpd_seq, dp->dccps_swl)) 89 dccp_delta_seqno(dp->dccps_swl,
90 DCCP_SKB_CB(skb)->dccpd_seq) >= 0)
90 dccp_update_gsr(sk, DCCP_SKB_CB(skb)->dccpd_seq); 91 dccp_update_gsr(sk, DCCP_SKB_CB(skb)->dccpd_seq);
91 else 92 else
92 return -1; 93 return -1;
@@ -203,7 +204,8 @@ static int __dccp_rcv_established(struct sock *sk, struct sk_buff *skb,
203 if (dp->dccps_role != DCCP_ROLE_CLIENT) 204 if (dp->dccps_role != DCCP_ROLE_CLIENT)
204 goto send_sync; 205 goto send_sync;
205check_seq: 206check_seq:
206 if (!before48(DCCP_SKB_CB(skb)->dccpd_seq, dp->dccps_osr)) { 207 if (dccp_delta_seqno(dp->dccps_osr,
208 DCCP_SKB_CB(skb)->dccpd_seq) >= 0) {
207send_sync: 209send_sync:
208 dccp_send_sync(sk, DCCP_SKB_CB(skb)->dccpd_seq, 210 dccp_send_sync(sk, DCCP_SKB_CB(skb)->dccpd_seq,
209 DCCP_PKT_SYNC); 211 DCCP_PKT_SYNC);