summaryrefslogtreecommitdiffstats
path: root/net/dccp
diff options
context:
space:
mode:
authorAndrea Bittau2006-09-19 22:06:46 +0200
committerDavid S. Miller2006-09-23 00:19:10 +0200
commit29651cda97b0a9e4ac0fbeb5ea731a9909f0f128 (patch)
tree3b6002e4fa3bdf7d233b8d46654effe9f816d505 /net/dccp
parent[DCCP] ackvec: Remove unused variables (diff)
downloadkernel-qcow2-linux-29651cda97b0a9e4ac0fbeb5ea731a9909f0f128.tar.gz
kernel-qcow2-linux-29651cda97b0a9e4ac0fbeb5ea731a9909f0f128.tar.xz
kernel-qcow2-linux-29651cda97b0a9e4ac0fbeb5ea731a9909f0f128.zip
[DCCP] CCID2: Fix jiffie wrap issues
Jiffies are now handled correctly (I hope) in CCID2. If they wrap, no problem. Signed-off-by: Andrea Bittau <a.bittau@cs.ucl.ac.uk> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp')
-rw-r--r--net/dccp/ccids/ccid2.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/dccp/ccids/ccid2.c b/net/dccp/ccids/ccid2.c
index b1d90c07535e..54a6b7ef3b7b 100644
--- a/net/dccp/ccids/ccid2.c
+++ b/net/dccp/ccids/ccid2.c
@@ -27,7 +27,6 @@
*
* BUGS:
* - sequence number wrapping
- * - jiffies wrapping
*/
#include "../ccid.h"
@@ -71,7 +70,8 @@ static void ccid2_hc_tx_check_sanity(const struct ccid2_hc_tx_sock *hctx)
/* packets are sent sequentially */
BUG_ON(seqp->ccid2s_seq <= prev->ccid2s_seq);
- BUG_ON(seqp->ccid2s_sent < prev->ccid2s_sent);
+ BUG_ON(time_before(seqp->ccid2s_sent,
+ prev->ccid2s_sent));
BUG_ON(len > ccid2_seq_len);
seqp = prev;
@@ -418,8 +418,8 @@ static inline void ccid2_new_ack(struct sock *sk,
/* update RTO */
if (hctx->ccid2hctx_srtt == -1 ||
- (jiffies - hctx->ccid2hctx_lastrtt) >= hctx->ccid2hctx_srtt) {
- unsigned long r = jiffies - seqp->ccid2s_sent;
+ time_after(jiffies, hctx->ccid2hctx_lastrtt + hctx->ccid2hctx_srtt)) {
+ unsigned long r = (long)jiffies - (long)seqp->ccid2s_sent;
int s;
/* first measurement */