numam-spdk/test/unit/lib
Shuhei Matsumoto 22adcd1487 lib/iscsi: Fix orphaned PDUs when freeing PDUs and tasks for LUN hotplug
In _iscsi_conn_free_tasks(), we had parsed conn->write_pdu_list
and then parsed conn->queued_datain_tasks.  However when we parsed
conn->write_pdu_list, if there was any task in conn->queued_datain_tasks,
some PDUs were inserted conn->write_pdu_list.  Hence after parsing
conn->write_pdu_list, new PDUs were in conn->write_pdu_list as orphan.
Then orphaned PDUs were freed later but LUN was already freed and
critical failure occurred.

This patch swaps the order of conn->queued_datain_tasks and
conn->write_pdu_list, and add comment to explain the change.

Additionally, this patch adds unit test which fails if it runs
without this fix.

Fixes issue #1030.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Icb0ffbbbac70792a62939dc55a69df05d2ab9128
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475453
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-12-05 12:21:09 +00:00
..
bdev bdev: remove _spdk_bdev function prefix 2019-11-20 09:34:18 +00:00
blob ut/blob: fix freeing io_channels 2019-11-28 12:38:03 +00:00
blobfs blobfs_bdev_ut : fix memory leak 2019-11-07 13:24:15 +00:00
event RPC: rename start_subsystem_init to framework_start_init 2019-09-30 21:13:41 +00:00
ftl lib/ftl: Keep state of single band relocation 2019-11-21 14:34:11 +00:00
ioat test/unit: remove duplicate mk/spdk.common.mk includes 2019-02-11 09:30:27 +00:00
iscsi lib/iscsi: Fix orphaned PDUs when freeing PDUs and tasks for LUN hotplug 2019-12-05 12:21:09 +00:00
json ut/cunit: added missing semicolon on CU_ASSERT macros 2019-07-24 18:21:22 +00:00
jsonrpc jsonrpc: always allocate response for request 2019-07-19 20:56:54 +00:00
log log: passing user-defined log 2019-06-18 03:56:50 +00:00
lvol ut/lvol: fixed scan-build error on spdk_bs_init 2019-07-01 13:08:33 +00:00
notify lib/notify: rename spdk_notify_get_events to spdk_notify_foreach_event 2019-05-07 06:11:27 +00:00
nvme test/nvme: Fix static memory accessing overflows. 2019-12-04 15:13:57 +00:00
nvmf nvme: allow setting of completion queue CDW0 2019-10-24 18:02:38 +00:00
reduce test/reduce: support iovecs in compress/decompress UT 2019-08-21 22:09:32 +00:00
scsi lib/scsi: Pass SCSI task to SCSI layer to get DIF context 2019-11-21 08:01:29 +00:00
sock test/sock: Limit sleep to only FreeBSD 2019-11-22 13:54:58 +00:00
thread thread: Add a mechanism to exit a lightweight thread 2019-05-22 04:23:17 +00:00
util util: Add spdk_iovcpy, an iovec to iovec copy function. 2019-11-20 09:35:32 +00:00
vhost vhost: wrap some of rte_vhost functions 2019-11-20 09:33:43 +00:00
json_mock.c subsystem: add per module configuration dump 2018-03-23 02:47:40 -04:00
Makefile bdev/nvme: always enable FTL 2019-05-02 08:41:56 +00:00