In the dropafterack case of tcp_input(), it's OK to release the TCP
pcbinfo lock before calling tcp_output(), as holding just the inpcb lock is sufficient to prevent garbage collection.
This commit is contained in:
parent
e0bef1cb35
commit
42cf3289c3
@ -2431,10 +2431,10 @@ dropafterack:
|
||||
&tcp_savetcp, 0);
|
||||
#endif
|
||||
KASSERT(headlocked, ("headlocked should be 1"));
|
||||
INP_INFO_WUNLOCK(&tcbinfo);
|
||||
tp->t_flags |= TF_ACKNOW;
|
||||
(void) tcp_output(tp);
|
||||
INP_UNLOCK(inp);
|
||||
INP_INFO_WUNLOCK(&tcbinfo);
|
||||
m_freem(m);
|
||||
return;
|
||||
|
||||
|
@ -2431,10 +2431,10 @@ dropafterack:
|
||||
&tcp_savetcp, 0);
|
||||
#endif
|
||||
KASSERT(headlocked, ("headlocked should be 1"));
|
||||
INP_INFO_WUNLOCK(&tcbinfo);
|
||||
tp->t_flags |= TF_ACKNOW;
|
||||
(void) tcp_output(tp);
|
||||
INP_UNLOCK(inp);
|
||||
INP_INFO_WUNLOCK(&tcbinfo);
|
||||
m_freem(m);
|
||||
return;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user