linux/drivers/nvme/host
Breno Leitao 5dd18f09ce nvme/multipath: Fix RCU list traversal to use SRCU primitive
The code currently uses list_for_each_entry_rcu() while holding an SRCU
lock, triggering false positive warnings with CONFIG_PROVE_RCU=y
enabled:

	drivers/nvme/host/multipath.c:168 RCU-list traversed in non-reader section!!
	drivers/nvme/host/multipath.c:227 RCU-list traversed in non-reader section!!
	drivers/nvme/host/multipath.c:260 RCU-list traversed in non-reader section!!

While the list is properly protected by SRCU lock, the code uses the
wrong list traversal primitive. Replace list_for_each_entry_rcu() with
list_for_each_entry_srcu() to correctly indicate SRCU-based protection
and eliminate the false warning.

Signed-off-by: Breno Leitao <leitao@debian.org>
Fixes: be647e2c76 ("nvme: use srcu for iterating namespace list")
Signed-off-by: Keith Busch <kbusch@kernel.org>
2024-11-18 09:11:24 -08:00
..
apple.c block: add a rq_list type 2024-11-13 12:04:58 -07:00
auth.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
constants.c nvme: fix status magic numbers 2024-06-24 12:53:42 -07:00
core.c nvme updates for Linux 6.13 2024-11-13 10:43:11 -07:00
fabrics.c nvme-tcp: check for invalidated or revoked key 2024-08-22 13:25:07 -07:00
fabrics.h nvme-pci: do not directly handle subsys reset fallout 2024-06-26 07:02:22 -07:00
fault_inject.c fault-inject: improve build for CONFIG_FAULT_INJECTION=n 2024-09-01 20:43:33 -07:00
fc.c nvme-pci: do not directly handle subsys reset fallout 2024-06-26 07:02:22 -07:00
fc.h
hwmon.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ioctl.c nvme updates for Linux 6.13 2024-11-13 10:43:11 -07:00
Kconfig nvme-tcp: fix link failure for TCP auth 2024-09-10 07:41:07 -07:00
Makefile nvme: rework NVME_AUTH Kconfig selection 2023-10-12 08:04:49 -07:00
multipath.c nvme/multipath: Fix RCU list traversal to use SRCU primitive 2024-11-18 09:11:24 -08:00
nvme.h nvme: add rotational support 2024-11-11 09:49:50 -08:00
pci.c block: don't reorder requests in blk_add_rq_to_plug 2024-11-13 12:04:58 -07:00
pr.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
rdma.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
sysfs.c nvme: null terminate nvme_tls_attrs 2024-09-24 23:34:13 -07:00
tcp.c nvme: tcp: avoid race between queue_lock lock and destroy 2024-10-03 12:14:35 -07:00
trace.c nvme: parse reservation commands's action and rtype to string 2024-11-13 08:51:24 -08:00
trace.h nvme: fix async event trace event 2023-04-13 08:59:04 +02:00
zns.c block: pre-calculate max_zone_append_sectors 2024-11-11 09:20:36 -07:00