[Bug 289930] Booting FreeBSD 16-CURRENT on riscv64 with QEMU hangs indefinitely
Date: Tue, 04 Nov 2025 14:36:44 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289930
--- Comment #2 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:
URL:
https://cgit.FreeBSD.org/src/commit/?id=f999ffdce3813eb946f10999ccffb8275c324469
commit f999ffdce3813eb946f10999ccffb8275c324469
Author: Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2025-11-04 14:27:33 +0000
Commit: Mark Johnston <markj@FreeBSD.org>
CommitDate: 2025-11-04 14:35:31 +0000
virtio: Fix polling in virtqueue_dequeue()
The access of vq->vq_ring.used->idx needs to be volatile-qualified,
otherwise the compiler may optimize virtqueue_poll() into an infinite
loop if there is no data available upon the first poll.
Prior to commit ad17789a8569 this wasn't a problem since an external
function call after each poll inhibited the optimization.
PR: 289930
MFC after: 3 days
Sponsored by: Klara, Inc.
Fixes: ad17789a8569 ("virtio: Remove the unused poll method")
sys/dev/virtio/virtqueue.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--
You are receiving this mail because:
You are on the CC list for the bug.