]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
nvme-fc: use lock accessing port_state and rport state
authorDaniel Wagner <wagi@kernel.org>
Tue, 2 Sep 2025 10:22:03 +0000 (12:22 +0200)
committerKeith Busch <kbusch@kernel.org>
Mon, 15 Sep 2025 15:52:57 +0000 (08:52 -0700)
commit891cdbb162ccdb079cd5228ae43bdeebce8597ad
tree1c0f9dc31e43095b2ed683b5ca8523107528b753
parent10c165af35d225eb033f4edc7fcc699a8d2d533d
nvme-fc: use lock accessing port_state and rport state

nvme_fc_unregister_remote removes the remote port on a lport object at
any point in time when there is no active association. This races with
with the reconnect logic, because nvme_fc_create_association is not
taking a lock to check the port_state and atomically increase the
active count on the rport.

Reported-by: Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Closes: https://lore.kernel.org/all/u4ttvhnn7lark5w3sgrbuy2rxupcvosp4qmvj46nwzgeo5ausc@uyrkdls2muwx
Signed-off-by: Daniel Wagner <wagi@kernel.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/fc.c