Release mbuf(9) chain with a simple m_freem(9) loop in sorflush().
authormvs <mvs@openbsd.org>
Thu, 18 Feb 2021 11:40:19 +0000 (11:40 +0000)
committermvs <mvs@openbsd.org>
Thu, 18 Feb 2021 11:40:19 +0000 (11:40 +0000)
commitde5b078e4da89d76086ab50bca6d0e232ed400d3
treefcc5d178384d996593a46316c262105b12bb26e2
parente34c4844532ad2e16c63c2242dbf41df537975dc
Release mbuf(9) chain with a simple m_freem(9) loop in sorflush().
Passing local copy of socket to sbrelease() is too complicated to just
free receive buffer. We don't allocate large object on the stack. Also
we don't pass unlocked socket to soassertlocked() within sbdrop(). This
was not triggered because we lock the whole layer with one lock.

Also sorflush() is now private to kern/uipc_socket.c, so it's definition
was made to be in accordance.

ok claudio@ mpi@
sys/kern/uipc_socket.c
sys/sys/socketvar.h