diff options
| author | Li RongQing <lirongqing@baidu.com> | 2026-02-05 04:40:10 -0500 |
|---|---|---|
| committer | Wei Liu <wei.liu@kernel.org> | 2026-02-06 07:04:58 +0000 |
| commit | 2e7577cd5ddc1f86d1b6c48caf3cfa87dbb14e34 (patch) | |
| tree | 2cfc0070c8aaf07dfb4e7a4b62590d3725317e3f /tools/perf/lib/Documentation/tutorial/git@git.tavy.me:linux.git | |
| parent | 51515bfc29ed5971d4f0a98243bdc1c93fadb102 (diff) | |
mshv: fix SRCU protection in irqfd resampler ack handler
Replace hlist_for_each_entry_rcu() with hlist_for_each_entry_srcu()
in mshv_irqfd_resampler_ack() to correctly handle SRCU-protected
linked list traversal.
The function uses SRCU (sleepable RCU) synchronization via
partition->pt_irq_srcu, but was incorrectly using the RCU variant
for list iteration. This could lead to race conditions when the
list is modified concurrently.
Also add srcu_read_lock_held() assertion as required by
hlist_for_each_entry_srcu() to ensure we're in the proper
read-side critical section.
Fixes: 621191d709b14 ("Drivers: hv: Introduce mshv_root module to expose /dev/mshv to VMMs")
Signed-off-by: Li RongQing <lirongqing@baidu.com>
Reviewed-by: Anirudh Rayabharam (Microsoft) <anirudh@anirudhrb.com>
Acked-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Diffstat (limited to 'tools/perf/lib/Documentation/tutorial/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions
