[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: panic: tcp_output REXMT
Manuel Bouyer wrote:
But I don't understand how it could cause a tcp_setpersist() panic.
understand it properly, we can't have TCPT_REXMT and TCPT_PERSIST
at the same time. Here the path comes from TCPT_PERSIST's handler so
it was armed. Nothing arms TCPT_PERSIST outside of tcp_setpersist(),
so TCPT_REXMT has been armed after TCPT_PERSIST was.
syn_cache_get() can arm TCPT_REXMT without checking TCPT_PERSIST.
I don't know if TCPT_PERSIST could have been armed before at this
I couldn't find other places where TCPT_REXMT would be armed without
Without having enough time atm to look into this thoroughly just now:
It looks like tcp_timer_rexmt() can also (re-)arm the retransmit timer.
I'm easily confused by the fact that counter-intuitively,
TCP_TIMER_ISARMED() doesn't mean "the timer is running and going to
fire any moment", but "the timer has been armed in the past and not
Would it be an option for you to try the patch (modified as yamt@
wrote) and check whether the panic persists?
Main Index |
Thread Index |