[CCID2]: Bug in reading Ack Vectors
authorGerrit Renker <gerrit@erg.abdn.ac.uk>
Sat, 24 Nov 2007 22:37:48 +0000 (20:37 -0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 22:54:51 +0000 (14:54 -0800)
commit3de5489f47febe0333b142e0eb6389b9924b2634
tree6ac340c65f64245d14c21a4bca03580c3d9789fe
parenta47c51044a77124ce66cd8513bba6f4d7673e43d
[CCID2]: Bug in reading Ack Vectors

In CCID2 the receiver-history is sorted in ascending order of sequence number,
but the processing of received Ack Vectors requires the list traversal in the
opposite direction.

The current code has a bug in this regard: the list traversal is upwards. As a
consequence, only Ack Vectors with a run length of 1 will pass, in all other
Ack Vectors the remaining (acked) sequence numbers are missed, and may later
falsely be identified as lost.

Note: This bug is only visible when Ack Ratio > 1, since otherwise the run
      lengths of Ack Vectors are 0.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-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>
net/dccp/ccids/ccid2.c