summary refs log tree commit diff
path: root/net/dccp
diff options
context:
space:
mode:
authorGerrit Renker <gerrit@erg.abdn.ac.uk>2007-03-20 13:03:47 -0300
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-25 22:26:45 -0700
commitb16be51b5e5d75cec71b18ebc75f15a4734c62ad (patch)
tree2e7cd0225a4d30895d0b188c97e563de149cbe72 /net/dccp
parentd52de17b8cf36d43a9d6977e7861a9f415541c6b (diff)
downloadlinux-b16be51b5e5d75cec71b18ebc75f15a4734c62ad.tar.gz
[DCCP]: Fix for follows48
The follows48 relation identifies whether 48-bit sequence number
x is the direct successor of y. Currently, it does not handle cases
of the following type correctly:

	follows48(0x(prefix)10000LL, 0x(prefix)0FFFFLL)

where prefix is an arbitrary hex sequence of up to 7 digits.

This is fixed by reusing the new dccp_delta_seqno function.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp')
-rw-r--r--net/dccp/dccp.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/dccp/dccp.h b/net/dccp/dccp.h
index 1615986a8d92..c66a4581348f 100644
--- a/net/dccp/dccp.h
+++ b/net/dccp/dccp.h
@@ -144,9 +144,7 @@ static inline u64 max48(const u64 seq1, const u64 seq2)
 /* is seq1 next seqno after seq2 */
 static inline int follows48(const u64 seq1, const u64 seq2)
 {
-	int diff = (seq1 & 0xFFFF) - (seq2 & 0xFFFF);
-
-	return diff==1;
+	return dccp_delta_seqno(seq2, seq1) == 1;
 }
 
 enum {