opnsense-src/sys/dev/cxgbe
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
..
common cxgbe/t4_tom: Add a "TCB history" feature that samples hardware state 2019-04-22 17:48:10 +00:00
crypto Add support for AES-CCM to ccr(4). 2019-04-24 23:31:46 +00:00
cudbg cxgbe(4): Fix unsafe mailbox access in cudbg. 2017-11-21 01:18:58 +00:00
cxgbei cxgbe/t4_tom: adjust the hardware receive window to match changes to the 2019-06-01 03:03:48 +00:00
firmware cxgbe(4): Treat the viid as an opaque identifier. 2019-03-20 17:27:11 +00:00
iw_cxgbe iw_cxgbe: Remove unused smac_idx from the ep structure. 2019-03-19 19:11:44 +00:00
tom Hold an explicit reference on the socket for the aiotx task. 2019-06-27 19:36:30 +00:00
adapter.h cxgbe(4): Count and clear interrupts generated at the software's request. 2019-03-28 21:22:28 +00:00
if_cc.c
if_ccv.c
if_cxl.c
if_cxlv.c
offload.h cxgbe/t4_tom: Catch up with r344433, which removed tcb_autorcvbuf_inc. 2019-03-29 16:43:24 +00:00
osdep.h cxgbe(4): Add adapter information to messages logged by the OS-agnostic 2019-01-29 00:49:12 +00:00
t4_clip.c cxgbe(4): Do not issue mbox commands after t4_fw_bye. 2018-12-19 19:21:29 +00:00
t4_clip.h Move CLIP table handling out of TOM and into the base driver. 2018-11-29 01:15:53 +00:00
t4_filter.c cxgbe(4): Clear the reply-pending status of a hashfilter when the reply 2019-01-20 23:30:16 +00:00
t4_if.m
t4_ioctl.h cxgbe(4): Allow "pass" filters to distribute matching traffic using a 2018-10-25 14:37:26 +00:00
t4_iov.c cxgbe(4): Update the VF device ids too. This should have been part 2017-05-05 16:52:25 +00:00
t4_l2t.c cxgbe(4): Reuse existing "switching" L2T entries when possible. 2018-09-22 01:24:30 +00:00
t4_l2t.h cxgbe(4): Reuse existing "switching" L2T entries when possible. 2018-09-22 01:24:30 +00:00
t4_main.c cxgbe(4): Rename the DDP sysctl to rx_zcopy to match the tx_zcopy sysctl 2019-06-07 05:03:03 +00:00
t4_mp_ring.c cxgbe(4): Use fcmpset instead of cmpset when appropriate. 2018-08-23 16:24:27 +00:00
t4_mp_ring.h
t4_netmap.c cxgbe: revert r309725 2018-11-28 15:29:58 +00:00
t4_sched.c Restructure mbuf send tags to provide stronger guarantees. 2019-05-24 22:30:40 +00:00
t4_sge.c Restructure mbuf send tags to provide stronger guarantees. 2019-05-24 22:30:40 +00:00
t4_smt.c cxgbe(4): Move all control queues to the adapter. 2018-08-11 21:10:08 +00:00
t4_smt.h cxgbe(4): Retire an old check. 2018-06-01 01:05:34 +00:00
t4_tracer.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
t4_vf.c cxgbev(4): Enable 32b port capabilities in the VF driver. 2019-03-02 04:39:59 +00:00