1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-01 08:27:59 +00:00
freebsd/sys
Mark Johnston f94acf52a4 socket: Rename sb(un)lock() and interlock with listen(2)
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
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D31657
2021-09-07 15:06:48 -04:00
..
amd64 vmd(4): Major driver refactoring 2021-09-02 20:58:02 -04:00
arm Revert "arm: Bump KSTACK_PAGES default to match i386/amd64" 2021-09-01 13:13:27 -07:00
arm64 qoriq_dw_pci: Fix typo in link status checking code 2021-08-31 06:22:33 +02:00
bsm Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9). 2021-08-05 23:20:42 +08:00
cam ses: Guard the elm_type_names declaration by _KERNEL 2021-09-02 14:47:18 -06:00
cddl Create sys/reg.h for the common code previously in machine/reg.h 2021-08-30 12:50:53 +01:00
compat syscalls.master: switch to CAPENABLED flags 2021-09-01 21:58:16 +01:00
conf vmd(4): Major driver refactoring 2021-09-02 20:58:02 -04:00
contrib zfs: merge openzfs/zfs@3b89d9518 (master) into main 2021-08-31 09:02:21 +02:00
crypto crypto(4): Fix a few typos in camellia.c 2021-09-04 13:02:11 +02:00
ddb Create sys/reg.h for the common code previously in machine/reg.h 2021-08-30 12:50:53 +01:00
dev socket: Rename sb(un)lock() and interlock with listen(2) 2021-09-07 15:06:48 -04:00
dts Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
fs unionfs: style 2021-09-01 07:55:37 -07:00
gdb
geom g_label: Handle small sector sizes when tasting 2021-09-07 11:19:29 -04:00
gnu
i386 vmd(4): Major driver refactoring 2021-09-02 20:58:02 -04:00
isa
kern socket: Rename sb(un)lock() and interlock with listen(2) 2021-09-07 15:06:48 -04:00
kgssapi
libkern libkern: remove bcopy 2021-08-24 11:24:07 +00:00
mips Fix a common typo in source code comments 2021-09-04 12:56:57 +02:00
modules vmd(4): Major driver refactoring 2021-09-02 20:58:02 -04:00
net pf: remove unused function prototype 2021-09-07 16:38:49 +02:00
net80211 net80211: add func/line information to IEEE80211_DISCARD* macros 2021-09-04 09:24:51 +00:00
netgraph routing: Allow using IPv6 next-hops for IPv4 routes (RFC 5549). 2021-08-22 22:56:08 +00:00
netinet socket: Rename sb(un)lock() and interlock with listen(2) 2021-09-07 15:06:48 -04:00
netinet6 ip6mrouter: Make the expiration callout MPSAFE 2021-09-07 11:19:29 -04:00
netipsec ipsec: fix race condition in key.c 2021-08-13 12:52:38 +02:00
netpfil pf: ensure states passed to pf_free_state() are always unlinked 2021-09-03 09:36:19 +02:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed socket: Rename sb(un)lock() and interlock with listen(2) 2021-09-07 15:06:48 -04:00
opencrypto ktls: Support asynchronous dispatch of AEAD ciphers. 2021-08-30 13:11:52 -07:00
powerpc powerpc: Fix typo in thread register copy 2021-09-04 11:44:02 -05:00
riscv sifive_spi: Add missing case for SPIBUS_MODE_NONE 2021-08-30 23:38:02 +01:00
rpc Fix a common typo in source code comments 2021-09-04 12:56:57 +02:00
security Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9). 2021-08-05 23:20:42 +08:00
sys socket: Rename sb(un)lock() and interlock with listen(2) 2021-09-07 15:06:48 -04:00
teken
tests routing: add IPv6 fib validation procedure. 2021-08-16 23:04:01 +00:00
tools makesyscalls.lua: add a CAPENABLED flag 2021-09-01 21:58:06 +01:00
ufs ffs: remove unused thread argument from ffs_reload() 2021-09-04 12:25:10 -08:00
vm swap_pager: Handle large swap_pager_reserve() requests 2021-09-07 14:04:50 -04:00
x86 Create sys/reg.h for the common code previously in machine/reg.h 2021-08-30 12:50:53 +01:00
xdr
xen xen: introduce xen_pv_disks_disabled() 2021-07-28 17:27:04 +02:00
Makefile