diff options
| author | Karl Mehltretter <kmehltretter@gmail.com> | 2026-09-08 07:38:12 +0200 |
|---|---|---|
| committer | Michael S. Tsirkin <mst@redhat.com> | 2026-09-08 04:23:49 -0400 |
| commit | 6e484b870b71eb6acb3fa7a10b8e71098e242033 (patch) | |
| tree | 80e5cd1c7ca0081494ec48823991455e67373efe /tools/perf/scripts/python | |
| parent | 48a4ee65e677559776349128e6a81a6041986c99 (diff) | |
| download | linux-next-6e484b870b71eb6acb3fa7a10b8e71098e242033.tar.gz linux-next-6e484b870b71eb6acb3fa7a10b8e71098e242033.zip | |
virtio_ccw: fix synchronize_cbs() after interrupt fallback
virtio_ccw_synchronize_cbs() assumes the device uses adapter interrupts
when vcdev->airq_info is not NULL. If registering adapter indicators
fails, virtio_ccw_find_vqs() falls back to classic interrupts but can
leave airq_info set.
With VIRTIO_HARDEN_NOTIFICATION enabled,
virtio_ccw_int_handler() invokes callbacks under vcdev->irq_lock.
synchronize_cbs() instead takes the indicator area lock, so it does
not synchronize with those callbacks.
Use vcdev->is_thinint, which the fallback clears, to select the lock.
Keep the airq_info check because is_thinint can be set before the
first find_vqs() call, when airq_info is still NULL.
Fixes: 3a232277c1ac ("virtio-ccw: implement synchronize_cbs()")
Assisted-by: LLM
Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20260908053817.26065-2-kmehltretter@gmail.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
