diff options
author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2007-03-20 13:03:47 -0300 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-25 22:26:45 -0700 |
commit | b16be51b5e5d75cec71b18ebc75f15a4734c62ad (patch) | |
tree | 2e7cd0225a4d30895d0b188c97e563de149cbe72 /net/dccp | |
parent | d52de17b8cf36d43a9d6977e7861a9f415541c6b (diff) | |
download | linux-stable-b16be51b5e5d75cec71b18ebc75f15a4734c62ad.tar.gz linux-stable-b16be51b5e5d75cec71b18ebc75f15a4734c62ad.tar.bz2 linux-stable-b16be51b5e5d75cec71b18ebc75f15a4734c62ad.zip |
[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.h | 4 |
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 { |