diff options
| author | Karl Mehltretter <kmehltretter@gmail.com> | 2026-09-08 07:38:13 +0200 |
|---|---|---|
| committer | Michael S. Tsirkin <mst@redhat.com> | 2026-09-08 04:23:49 -0400 |
| commit | 48a355cf5b382570975e60857450ff3d42f268e9 (patch) | |
| tree | 83be9c97ecfce25fe4d24f5c0a57d01584b3780e /tools/perf/scripts/python | |
| parent | 6e484b870b71eb6acb3fa7a10b8e71098e242033 (diff) | |
| download | linux-next-48a355cf5b382570975e60857450ff3d42f268e9.tar.gz linux-next-48a355cf5b382570975e60857450ff3d42f268e9.zip | |
virtio_ccw: always take irq_lock in the classic interrupt handler
virtio_ccw_int_handler() takes vcdev->irq_lock around its
vring_interrupt() calls only when VIRTIO_HARDEN_NOTIFICATION is enabled.
The virtio shutdown path calls synchronize_cbs() even when notification
hardening is disabled. virtio_reset_device() now does so after the
transport reset too.
For classic interrupts, synchronize_cbs() takes vcdev->irq_lock for
writing, but the interrupt handler does not take the matching read
lock in that configuration. synchronize_cbs() can return while a
callback is still running.
Take the read lock unconditionally so the write side can synchronize
with the callbacks.
Fixes: 8bd2fa086a04 ("virtio: break and reset virtio devices on device_shutdown()")
Assisted-by: LLM
Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20260908053817.26065-3-kmehltretter@gmail.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
