freebsd-dev/sys/dev/cxgbe
Navdeep Parhar 017296dbb6 cxgbe/iw_cxgbe: fix various double-close panics with iWARP sockets.
Sockets representing the TCP endpoints for iWARP connections are
allocated by the ibcore module.  Before this revision they were closed
either by the ibcore module or the iw_cxgbe hardware driver depending on
the state transitions during connection teardown.  This is error prone
and there were cases where both iw_cxgbe and ibcore closed the socket
leading to double-free panics.  The fix is to let ibcore close the
sockets it creates and never do it in the driver.

- Use sodisconnect instead of soclose (preceded by solinger = 0) in the
  driver to tear down an RDMA connection abruptly.  This does what's
  intended without releasing the socket's fd reference.

- Close the socket in ibcore when the iWARP iw_cm_id is destroyed.  This
  works for all kinds of sockets: clients that initiate connections,
  listeners, and sockets accepted off of listeners.

Reviewed by:	Steve Wise @ Open Grid Computing, hselasky@
MFC after:	3 days
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D9796
2017-02-28 19:27:41 +00:00
..
common cxgbe(4): Refresh t4_msg.h, mainly for definitions related to the crypto 2017-01-10 01:30:41 +00:00
cxgbei Remove a a duplicated word. 2016-09-29 13:59:14 +00:00
firmware cxgbe(4): Update T4, T5 and T6 firmwares to 1.16.26.0. Changelog for 2017-01-03 22:05:07 +00:00
iw_cxgbe cxgbe/iw_cxgbe: fix various double-close panics with iWARP sockets. 2017-02-28 19:27:41 +00:00
tom cxgbe/t4_tom: Fix CLIP entry refcounting on the passive side. Every 2017-02-06 17:48:25 +00:00
adapter.h cxgbe(4): Updates to link configuration. 2016-12-30 08:59:49 +00:00
if_cc.c cxgbe(4): Attach to cards with the Terminator 6 ASIC. T6 cards will 2016-09-16 00:08:37 +00:00
if_ccv.c cxgbe(4): Attach to cards with the Terminator 6 ASIC. T6 cards will 2016-09-16 00:08:37 +00:00
if_cxl.c
if_cxlv.c Chelsio T4/T5 VF driver. 2016-09-07 18:13:57 +00:00
offload.h cxgbe/cxgbei: Retire all DDP related code from cxgbei and switch to 2016-09-01 20:43:01 +00:00
osdep.h
t4_if.m Use the port device name for the iov device for Chelsio T4/T5 cards. 2016-08-03 17:11:08 +00:00
t4_ioctl.h cxgbe(4): Add an ioctl to copy a firmware config file to the card's flash. 2016-10-07 19:02:39 +00:00
t4_iov.c Fix a couple of issues with t4iov probe and attach. 2017-01-31 18:54:13 +00:00
t4_l2t.c cxgbe(4): Changes to the CPL-handler registration mechanism and code 2016-07-05 01:29:24 +00:00
t4_l2t.h cxgbe(4): Changes to the CPL-handler registration mechanism and code 2016-07-05 01:29:24 +00:00
t4_main.c cxgbe(4): Allow tunables that control the number of queues to be set to 2017-02-06 05:19:29 +00:00
t4_mp_ring.c
t4_mp_ring.h
t4_netmap.c cxgbe(4): netmap does not set IFCAP_NETMAP in an ifnet's if_capabilities 2016-12-09 02:21:27 +00:00
t4_sge.c cxgbe(4): Enable automatic cidx flush for all control queues. 2017-01-09 22:20:09 +00:00
t4_tracer.c cxgbe(4): Support SIOGIFXMEDIA so that ifconfig displays correct media 2016-09-24 13:23:47 +00:00
t4_vf.c cxgbe(4): Updates to link configuration. 2016-12-30 08:59:49 +00:00