freebsd-dev/sys
John Baldwin 7f63b888c7 Hold an explicit reference on the socket for the aiotx task.
Previously, the aiotx task relied on the aio jobs in the queue to hold
a reference on the socket.  However, when the last job is completed,
there is nothing left to hold a reference to the socket buffer lock
used to check if the queue is empty.  In addition, if the last job on
the queue is cancelled, the task can run with no queued jobs holding a
reference to the socket buffer lock the task uses to notice the queue
is empty.

Fix these races by holding an explicit reference on the socket when
the task is queued and dropping that reference when the task
completes.

Reviewed by:	np
MFC after:	1 week
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D20539
2019-06-27 19:36:30 +00:00
..
amd64 Emulate the "TEST r/m{16,32,64}, imm{16,32,32}" instructions (opcode F7H). 2019-06-26 21:19:43 +00:00
arm Remove a couple of harmless stray references to nandfs. 2019-06-25 16:39:25 +00:00
arm64 In get_fpcontext32() and set_fpcontext32(), we can't just use memcpy() to 2019-06-26 22:06:40 +00:00
bsm Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
cam Replay r349342 by imp accidentally reverted by r349352 2019-06-25 06:14:31 +00:00
cddl Avoid extra taskq_dispatch() calls by DMU. 2019-06-25 18:35:23 +00:00
compat LinuxKPI: Additions to rcu list. 2019-06-21 18:48:07 +00:00
conf Add support for extended descriptor format to Altera mSGDMA driver. 2019-06-27 18:08:18 +00:00
contrib While working on PR/238796 I discovered an unused variable in frdest, 2019-06-26 00:53:49 +00:00
crypto aesni(4): Fix trivial type typo 2019-05-27 00:47:51 +00:00
ddb ddb show proc typo 2019-06-22 05:35:23 +00:00
dev Hold an explicit reference on the socket for the aiotx task. 2019-06-27 19:36:30 +00:00
dts arm64: Add support for NanoPI NEO2 2019-05-02 12:56:13 +00:00
fs Free all allocated unit IDs in cuse(3) after the client character 2019-06-25 11:46:01 +00:00
gdb
geom Remove NAND and NANDFS support 2019-06-25 04:50:09 +00:00
gnu dts: Import files from Linux 5.1 2019-05-08 19:27:30 +00:00
i386 sys: Remove DEV_RANDOM device option 2019-06-21 00:16:30 +00:00
isa
kern fcntl: style changes to r349248 2019-06-25 19:44:22 +00:00
kgssapi Make the warning intervals for deprecated crypto algorithms tunable. 2019-06-11 23:00:55 +00:00
libkern Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
mips Add support for extended descriptor format to Altera mSGDMA driver. 2019-06-27 18:08:18 +00:00
modules Remove NAND and NANDFS support 2019-06-25 04:50:09 +00:00
net o In iflib_txq_drain(): 2019-06-26 15:28:21 +00:00
net80211 Enhance the comment ieee80211_add_channel() to avoid a 2019-06-10 14:31:18 +00:00
netgraph Remove 'dir' argument in ng_ipfw_input, since ip_fw_args now has this info. 2019-03-14 22:30:05 +00:00
netinet Convert all IPv4 and IPv6 multicast memberships into using a STAILQ 2019-06-25 11:54:41 +00:00
netinet6 Convert all IPv4 and IPv6 multicast memberships into using a STAILQ 2019-06-25 11:54:41 +00:00
netipsec netipsec key_register: check for M_NOWAIT alloc failure 2019-06-25 15:43:52 +00:00
netpfil Convert all IPv4 and IPv6 multicast memberships into using a STAILQ 2019-06-25 11:54:41 +00:00
netsmb Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
nfs
nfsclient
nfsserver
nlm
ofed Fix prio vs. nonprio tagged traffic in RDMACM 2019-06-04 06:21:31 +00:00
opencrypto Move declaration of warninterval out from under COMPAT_FREEBSD32. 2019-06-11 23:28:07 +00:00
powerpc powerpc/booke: Handle misaligned floating point loads/stores as on AIM 2019-06-26 01:14:39 +00:00
riscv sys: Remove DEV_RANDOM device option 2019-06-21 00:16:30 +00:00
rpc Fix malloc stats for the RPCSEC_GSS server code when DEBUG is enabled. 2019-04-04 01:23:06 +00:00
security Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
sparc64 sys: Remove DEV_RANDOM device option 2019-06-21 00:16:30 +00:00
sys revert r349460, printf -> KASSERT in bus.h, until I can fix it 2019-06-27 15:51:50 +00:00
teken Attempt to complete fixing programmable function keys for syscons. 2019-02-20 02:14:41 +00:00
tests Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
tools Add SDIO support. 2019-06-08 16:26:56 +00:00
ufs Remove references to splbio in ffs_softdep.c. 2019-06-26 16:28:42 +00:00
vm Add a return value to vm_page_remove(). 2019-06-26 17:37:51 +00:00
x86 Currently, MCA entries remain on an every-growing linked list. This means 2019-06-08 18:26:48 +00:00
xdr
xen xen: introduce a new way to setup event channel upcall 2019-01-30 11:34:52 +00:00
Makefile