diff options
author | rwatson <rwatson@FreeBSD.org> | 2009-10-05 22:24:13 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2009-10-05 22:24:13 +0000 |
commit | cff0b225cd7f8666f87ca7ace7488498f3e9527a (patch) | |
tree | f276fcd258f1bf958a2289ff7d6cb6a1849f7475 /games | |
parent | 60dba30ff05ca8713769faded0bcf757a4ef9c0b (diff) | |
download | FreeBSD-src-cff0b225cd7f8666f87ca7ace7488498f3e9527a.zip FreeBSD-src-cff0b225cd7f8666f87ca7ace7488498f3e9527a.tar.gz |
In tcp_input(), we acquire a global write lock at first only if a
segment is likely to trigger a TCP state change (i.e., FIN/RST/SYN).
If we later have to upgrade the lock, we acquire an inpcb reference
and drop both global/inpcb locks before reacquiring in-order. In
that gap, the connection may transition into TIMEWAIT, so we need
to loop back and reevaluate the inpcb after relocking.
MFC after: 3 days
Reported by: Kamigishi Rei <spambox at haruhiism.net>
Reviewed by: bz
Diffstat (limited to 'games')
0 files changed, 0 insertions, 0 deletions