Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/netinet



Manuel Bouyer wrote:
> Module Name:  src
> Committed By: bouyer
> Date:         Sun Nov  9 17:32:38 UTC 2008
> 
> Modified Files:
>       src/sys/netinet: tcp_timer.c
> 
> Log Message:
> Fix kern/39769: race condition in TCP timers
> When a TCP timer is disarmed (with callout_stop()) in the general case
> callout_invoking() isn't checked, so the timer handler could be called run
> when the current interrupt handler exits, athough the timer is disarmed.
> This case cause bad things like TCPT_REXMT and TCPT_PERSIST being both 
> pending,
> causing a panic (see the PR for details).
> Close the issue by aborting the handler if the timer is not callout_expired().
> (the EXPIRED flag being cleared by callout_stop()).

Does this also fix PR 39655 (the TCP part) ?

Christoph


Home | Main Index | Thread Index | Old Index