linux/drivers/nvme/target
James Smart f0504bf54b nvme_fcloop: fix abort race condition
[ Upstream commit 278e096063 ]

A test case revealed a race condition of an i/o completing on a thread
parallel to the delete_association generating the aborts for the
outstanding ios on the controller.  The i/o completion was freeing the
target fcloop context, thus the abort task referenced the just-freed
memory.

Correct by clearing the target/initiator cross pointers in the io
completion and abort tasks before calling the callbacks. On aborts
that detect already finished io's, ensure the complete context is
called.

Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2018-04-12 12:32:16 +02:00
..
admin-cmd.c nvmet: add support for reporting the host identifier 2017-08-30 15:05:18 +02:00
configfs.c nvmet: use NVME_NSID_ALL 2017-08-28 21:38:19 +02:00
core.c nvmet: synchronize sqhd update 2017-10-19 09:16:12 +02:00
discovery.c nvme: use a single NVME_AQ_DEPTH and relax it to 32 2017-06-28 08:14:13 -06:00
fabrics-cmd.c nvmet: implement valid sqhd values in completions 2017-09-25 08:56:05 -06:00
fc.c nvmet-fc: correct ref counting error when deferred rcv used 2018-02-03 17:38:59 +01:00
fcloop.c nvme_fcloop: fix abort race condition 2018-04-12 12:32:16 +02:00
io-cmd.c block: replace bi_bdev with a gendisk pointer and partitions index 2017-08-23 12:49:55 -06:00
Kconfig nvme-fabrics: Add FC LLDD loopback driver to test FC-NVME 2016-12-06 14:51:48 +01:00
loop.c nvme-loop: check if queue is ready in queue_rq 2018-02-03 17:38:58 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nvmet.h nvmet: synchronize sqhd update 2017-10-19 09:16:12 +02:00
rdma.c nvmet-rdma: update queue list during ib_device removal 2017-12-17 15:08:00 +01:00