Merge r204830 from head to stable/8

Locking the tcbinfo structure should not be necessary in tcp_timer_delack(),
  so don't.

  Reviewed by:    bz
  Sponsored by:   Juniper Networks

Approved by:	re (kib)
This commit is contained in:
Robert Watson 2010-06-03 09:06:50 +00:00
parent 4b33228640
commit e5dbe8eca0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/stable/8/; revision=208768

View File

@ -162,7 +162,6 @@ tcp_timer_delack(void *xtp)
struct inpcb *inp;
CURVNET_SET(tp->t_vnet);
INP_INFO_RLOCK(&V_tcbinfo);
inp = tp->t_inpcb;
/*
* XXXRW: While this assert is in fact correct, bugs in the tcpcb
@ -173,12 +172,10 @@ tcp_timer_delack(void *xtp)
*/
if (inp == NULL) {
tcp_timer_race++;
INP_INFO_RUNLOCK(&V_tcbinfo);
CURVNET_RESTORE();
return;
}
INP_WLOCK(inp);
INP_INFO_RUNLOCK(&V_tcbinfo);
if ((inp->inp_flags & INP_DROPPED) || callout_pending(&tp->t_timers->tt_delack)
|| !callout_active(&tp->t_timers->tt_delack)) {
INP_WUNLOCK(inp);