summaryrefslogtreecommitdiff
path: root/tools/lib/python
diff options
context:
space:
mode:
authorLi RongQing <lirongqing@baidu.com>2026-09-21 11:11:00 +0800
committerLeon Romanovsky <leon@kernel.org>2026-09-28 15:01:37 -0400
commitd30e9b1bc47bd9be4b2fc97b0e4074bc02c4203a (patch)
tree391ad628025dbfededf4a258dc8a92fc5832b1fa /tools/lib/python
parent9728effe43d8fc4d58e12b697d0d6127355abdd5 (diff)
IB/isert: Don't share drop_cmd_list across concurrent connection teardowns
isert_put_unsol_pending_cmds() declares drop_cmd_list as a static LIST_HEAD, so the list is shared across all invocations of the function. It is called from isert_wait_conn(), the per-connection .iscsit_wait_conn transport callback, which runs independently for each connection during teardown. conn->cmd_lock only protects each connection's own conn_cmd_list, not the shared drop_cmd_list. If two connections tear down at the same time, both threads list_move_tail() commands into the same drop_cmd_list without any mutual exclusion, and then both iterate and list_del/put it concurrently. This corrupts the linked list and can double-free iscsit_cmd structures. Make drop_cmd_list a stack-local list, matching the pattern already used in isert_free_np(). Fixes: 3e03c4b01da3 ("iser-target: Put the reference on commands waiting for unsol data") Signed-off-by: Li RongQing <lirongqing@baidu.com> Link: https://patch.msgid.link/20260921031100.2199-1-lirongqing@baidu.com Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions