mirror of
https://github.com/opnsense/src.git
synced 2026-05-25 02:35:01 -04:00
In preparation for moving sockbuf locks into the containing socket,
provide alternative macros for the sockbuf I/O locks:
SOCK_IO_SEND_(UN)LOCK() and SOCK_IO_RECV_(UN)LOCK(). These operate on a
socket rather than a socket buffer. Note that these locks are used only
to prevent concurrent readers and writters from interleaving I/O.
When locking for I/O, return an error if the socket is a listening
socket. Currently the check is racy since the sockbuf sx locks are
destroyed during the transition to a listening socket, but that will no
longer be true after some follow-up changes.
Modify a few places to check for errors from
sblock()/SOCK_IO_(SEND|RECV)_LOCK() where they were not before. In
particular, add checks to sendfile() and sorflush().
Reviewed by: tuexen, gallatin
Sponsored by: The FreeBSD Foundation
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| common | ||
| crypto | ||
| cudbg | ||
| cxgbei | ||
| firmware | ||
| iw_cxgbe | ||
| tom | ||
| adapter.h | ||
| if_cc.c | ||
| if_ccv.c | ||
| if_cxl.c | ||
| if_cxlv.c | ||
| offload.h | ||
| osdep.h | ||
| t4_clip.c | ||
| t4_clip.h | ||
| t4_filter.c | ||
| t4_if.m | ||
| t4_ioctl.h | ||
| t4_iov.c | ||
| t4_l2t.c | ||
| t4_l2t.h | ||
| t4_main.c | ||
| t4_mp_ring.c | ||
| t4_mp_ring.h | ||
| t4_netmap.c | ||
| t4_sched.c | ||
| t4_sge.c | ||
| t4_smt.c | ||
| t4_smt.h | ||
| t4_tracer.c | ||
| t4_vf.c | ||