HomeFreeBSD

Currently in_pcbfree will unconditionally wunlock the pcbinfo lock

Description

Currently in_pcbfree will unconditionally wunlock the pcbinfo lock
to avoid a LOR on the multicast list lock in the freemoptions routines.
As it turns out, tcp_usr_detach can acquire the tcbinfo lock readonly.
Trying to wunlock the pcbinfo lock in that context has caused a number
of reported crashes.

This change unclutters in_pcbfree and moves the handling of wunlock vs
runlock of pcbinfo to the freemoptions routine.

Reported by: mjg@, bde@, o.hartmann at walstatt.org
Approved by: sbruno

Details

Provenance
mmacyAuthored on
Parents
rS333276: cxgbe(4): Update all firmwares to 1.19.1.0.
Branches
Unknown
Tags
Unknown