Revision 20cd0c86553e14c495451ce7d1e2e4efd81041f0 authored by Manos Pitsidianakis on 24 March 2024, 10:04:59 UTC, committed by Michael Tokarev on 09 April 2024, 18:15:05 UTC
The current handling of invalid virtqueue elements inside the TX/RX virt queue handlers is wrong. They are added in a per-stream invalid queue to be processed after the handler is done examining each message, but the invalid message might not be specifying any stream_id; which means it's invalid to add it to any stream->invalid queue since stream could be NULL at this point. This commit moves the invalid queue to the VirtIOSound struct which guarantees there will always be a valid temporary place to store them inside the tx/rx handlers. The queue will be emptied before the handler returns, so the queue must be empty at any other point of the device's lifetime. Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> Message-Id: <virtio-snd-rewrite-invalid-tx-rx-message-handling-v1.manos.pitsidianakis@linaro.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> (cherry picked from commit 731655f87f319fd06f27282c6cafbc2467ac8045) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
1 parent 627aa46
File | Mode | Size |
---|---|---|
ci | ||
coccinelle | ||
codeconverter | ||
coverage | ||
coverity-scan | ||
kvm | ||
modules | ||
oss-fuzz | ||
performance | ||
qapi | ||
qemu-guest-agent | ||
qemugdb | ||
qmp | ||
simplebench | ||
tracetool | ||
analyse-9p-simpletrace.py | -rwxr-xr-x | 8.9 KB |
analyse-locks-simpletrace.py | -rwxr-xr-x | 3.5 KB |
analyze-inclusions | -rw-r--r-- | 3.1 KB |
analyze-migration.py | -rwxr-xr-x | 22.1 KB |
archive-source.sh | -rwxr-xr-x | 1.6 KB |
block-coroutine-wrapper.py | -rw-r--r-- | 9.6 KB |
check_sparse.py | -rw-r--r-- | 1.6 KB |
checkpatch.pl | -rwxr-xr-x | 84.2 KB |
clean-header-guards.pl | -rwxr-xr-x | 6.4 KB |
clean-includes | -rwxr-xr-x | 5.9 KB |
cleanup-trace-events.pl | -rwxr-xr-x | 1.5 KB |
cocci-macro-file.h | -rw-r--r-- | 4.3 KB |
cpu-x86-uarch-abi.py | -rw-r--r-- | 4.7 KB |
decodetree.py | -rw-r--r-- | 49.6 KB |
device-crash-test | -rwxr-xr-x | 25.0 KB |
disas-objdump.pl | -rwxr-xr-x | 2.7 KB |
dump-guest-memory.py | -rw-r--r-- | 20.2 KB |
entitlement.sh | -rwxr-xr-x | 555 bytes |
extract-vsssdk-headers | -rwxr-xr-x | 937 bytes |
feature_to_c.py | -rw-r--r-- | 2.6 KB |
fix-multiline-comments.sh | -rwxr-xr-x | 1.7 KB |
gensyscalls.sh | -rwxr-xr-x | 2.3 KB |
get_maintainer.pl | -rwxr-xr-x | 53.4 KB |
git-submodule.sh | -rwxr-xr-x | 3.1 KB |
git.orderfile | -rw-r--r-- | 527 bytes |
hxtool | -rwxr-xr-x | 342 bytes |
kernel-doc | -rwxr-xr-x | 66.3 KB |
make-config-poison.sh | -rwxr-xr-x | 387 bytes |
make-release | -rwxr-xr-x | 1.5 KB |
meson-buildoptions.py | -rw-r--r-- | 7.4 KB |
meson-buildoptions.sh | -rw-r--r-- | 33.3 KB |
meson.build | -rw-r--r-- | 165 bytes |
minikconf.py | -rw-r--r-- | 23.1 KB |
modinfo-collect.py | -rw-r--r-- | 1.9 KB |
modinfo-generate.py | -rw-r--r-- | 3.3 KB |
mtest2make.py | -rw-r--r-- | 4.1 KB |
nsis.py | -rw-r--r-- | 3.8 KB |
probe-gdb-support.py | -rw-r--r-- | 2.4 KB |
python_qmp_updater.py | -rwxr-xr-x | 3.3 KB |
qapi-gen.py | -rw-r--r-- | 463 bytes |
qemu-binfmt-conf.sh | -rwxr-xr-x | 14.6 KB |
qemu-gdb.py | -rw-r--r-- | 1.2 KB |
qemu-stamp.py | -rw-r--r-- | 614 bytes |
qemu-trace-stap | -rwxr-xr-x | 5.5 KB |
qemu-version.sh | -rwxr-xr-x | 400 bytes |
qom-cast-macro-clean-cocci-gen.py | -rw-r--r-- | 1.3 KB |
refresh-pxe-roms.sh | -rwxr-xr-x | 981 bytes |
render_block_graph.py | -rwxr-xr-x | 3.7 KB |
replay-dump.py | -rwxr-xr-x | 11.8 KB |
shaderinclude.py | -rw-r--r-- | 712 bytes |
signrom.py | -rwxr-xr-x | 1.2 KB |
simpletrace.py | -rwxr-xr-x | 13.2 KB |
symlink-install-tree.py | -rw-r--r-- | 1.2 KB |
tracetool.py | -rwxr-xr-x | 4.5 KB |
u2f-setup-gen.py | -rwxr-xr-x | 4.4 KB |
undefsym.py | -rw-r--r-- | 1.6 KB |
update-linux-headers.sh | -rwxr-xr-x | 10.2 KB |
update-mips-syscall-args.sh | -rwxr-xr-x | 1.2 KB |
update-syscalltbl.sh | -rwxr-xr-x | 1.7 KB |
userfaultfd-wrlat.py | -rwxr-xr-x | 2.9 KB |
vmstate-static-checker.py | -rwxr-xr-x | 15.9 KB |
xen-detect.c | -rw-r--r-- | 3.8 KB |
xml-preprocess-test.py | -rw-r--r-- | 5.0 KB |
xml-preprocess.py | -rw-r--r-- | 8.9 KB |
Computing file changes ...