Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 May 2021 14:33:25 -0400
From:      Mark Johnston <markj@freebsd.org>
To:        tuexen@freebsd.org
Cc:        freebsd-transport@freebsd.org
Subject:   sockbuf locking in sctp_sosend()
Message-ID:  <YKf89YT3cPk3Q6Li@nuc>

next in thread | raw e-mail | index | archive | help
Hi,

As part of an attempt to finally fix races with listen(2), I have some
patches which move the socket I/O sx locks out of struct sockbuf and
into the owning socket structure.  This is a prerequisite for
synchronizing socket I/O with listen(2), since most pru_sosend routines
acquire the sx lock as their first operation.

I noticed though that among pru_sosend implementations, scpt_sosend() is
unique in that it does not use sblock() to serialize senders.  Is that
intentional?  I see that sctp_soreceive() uses it.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YKf89YT3cPk3Q6Li>