linux-stable/drivers/nvme
James Smart 6fda20283e nvme_fcloop: disassocate local port structs
The current fcloop driver gets its lport structure from the private
area co-allocated with the fc_localport. All is fine except the
teardown path, which wants to wait on the completion, which is marked
complete by the delete_localport callback performed after
unregister_localport.  The issue is, the nvme_fc transport frees the
localport structure immediately after delete_localport is called,
meaning the original routine is trying to wait on a complete that
was just freed.

Change such that a lport struct is allocated coincident with the
addition and registration of a localport. The private area of the
localport now contains just a backpointer to the real lport struct.
Now, the completion can be waited for, and after completing, the
new structure can be kfree'd.

Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2018-01-08 11:01:54 +01:00
..
host lightnvm: make geometry structures 2.0 ready 2018-01-05 08:50:12 -07:00
target nvme_fcloop: disassocate local port structs 2018-01-08 11:01:54 +01:00
Kconfig nvme: use menu Kconfig interface 2017-10-04 09:43:57 +02:00
Makefile nvmet: add a generic NVMe target 2016-07-05 11:30:33 -06:00