SCTP: Fix a potential race between timers and receive path.
authorVlad Yasevich <vladislav.yasevich@hp.com>
Wed, 7 Nov 2007 16:39:27 +0000 (11:39 -0500)
committerVlad Yasevich <vladislav.yasevich@hp.com>
Wed, 7 Nov 2007 16:39:27 +0000 (11:39 -0500)
commit027f6e1ad32de32f9fe1c61d0f744e329e8acfd9
tree328152564025009264e768c2bc5c1d54ed44c27c
parent73d9c4fd1a6ec4950b2eac8135d35506bf400d6c
SCTP: Fix a potential race between timers and receive path.

There is a possible race condition where the timer code will
free the association and the next packet in the queue will also
attempt to free the same association.

The example is, when we receive an ABORT at about the same time
as the retransmission timer fires.  If the timer wins the race,
it will free the association.  Once it releases the lock, the
queue processing will recieve the ABORT and will try to free
the association again.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
net/sctp/inqueue.c