Re: [PULL 0/9] parallels: fix reachable assertion and related bounds-checking gaps
Stefan Hajnoczi <[email protected]>
| Newsgroups | gmane.comp.emulators.qemu.block,gmane.comp.emulators.qemu |
|---|---|
| Message-ID | <CAJSP0QWsKcV-o=pt9BSbF7pLhAOCZVV6_w_UsTF-Q5Gb_X9PUw@mail.gmail.com> |
The qemu-iotests parallels-checks output has a mismatch: https://gitlab.com/qemu-project/qemu/-/jobs/15576051278#L143 53/56 block-parallels-optional+block-thorough - qemu:io-parallels-parallels-checks ERROR 9.82s exit status 1 >>> ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 RUST_BACKTRACE=1 PYTHON=/builds/qemu-project/qemu/build/pyvenv/bin/python3 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=221 MESON_TEST_ITERATION=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 LD_LIBRARY_PATH=/builds/qemu-project/qemu/build/subprojects/libvfio-user/lib /builds/qemu-project/qemu/build/pyvenv/bin/python3 /builds/qemu-project/qemu/build/../tests/qemu-iotests/check -tap -parallels parallels-checks --source-dir /builds/qemu-project/qemu/tests/qemu-iotests --build-dir /builds/qemu-project/qemu/build/tests/qemu-iotests ――――――――――――――――――――――――――――――――――――― ✀ ――――――――――――――――――――――――――――――――――――― stderr: --- /builds/qemu-project/qemu/tests/qemu-iotests/tests/parallels-checks.out +++ /builds/qemu-project/qemu/build/scratch/parallels-file-parallels-checks/parallels-checks.out.bad @@ -143,6 +143,8 @@ protocol type: file file length: 2 GiB (2147483648 bytes) disk size: 1 MiB + Format specific information: + extent size hint: 1048576 == an unallocated cluster still reads as zeroes == read 1048576/1048576 bytes at offset 0 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) (test program exited with status code 1) On Tue, Jul 28, 2026 at 6:43 AM Denis V. Lunev <[email protected]> wrote: > > The following changes since commit 6333226c2abb72f31648c251624c56e70993d625: > > Merge tag 'pull-9p-20260725' of https://github.com/cschoenebeck/qemu into staging (2026-07-26 08:30:07 -0400) > > are available in the Git repository at: > > https://gitlab.com/dlunev/qemu.git tags/pull-parallels-2026-07-22 > > for you to fetch changes up to 2a1c31578eb96f829f3234fe9da1abecbb11aa1e: > > MAINTAINERS: update parallels tree location (2026-07-27 14:42:24 +0200) > > ---------------------------------------------------------------- > Parallels block driver patches > > - fix a reachable assert()/process abort on a crafted image with an > inconsistent BAT vs. advertised disk size (GitLab #3804) > - fix related integer overflows capping the format's usable catalog > size below its documented maximum > - reject BAT entries pointing outside the data area in either > direction > - harden the dirty-bitmap extension loader against a reachable > abort and an unsafe allocator > > This is my first pull request signed with this key: > > RSA rsa4096/0BAEAA87D3020ADC1150E51F5E0771B6CB666CAB > Denis V. Lunev <[email protected]> > > Public key: https://keys.openpgp.org/vks/v1/by-fingerprint/0BAEAA87D3020ADC1150E51F5E0771B6CB666CAB > > Signed-off-by: Denis V. Lunev <[email protected]> > CC: Thomas Huth <[email protected]> > CC: Stefan Hajnoczi <[email protected]> > > ---------------------------------------------------------------- > Denis V. Lunev (9): > parallels: fix integer overflow in header size calculation > parallels: read header/BAT table in bounded chunks > parallels: fix bat_entries overflow in image creation > parallels: reject BAT entries pointing outside backed storage > parallels: validate bitmap L1 table size before allocating it > parallels: skip loading a genuinely empty bitmap L1 table > parallels: avoid fatal abort on large bitmap L1 table > parallels: validate BAT capacity against advertised disk size > MAINTAINERS: update parallels tree location > > MAINTAINERS | 2 +- > block/parallels-ext.c | 52 +++++---- > block/parallels.c | 74 ++++++++++--- > tests/qemu-iotests/212 | 8 +- > tests/qemu-iotests/212.out | 10 +- > tests/qemu-iotests/tests/parallels-checks | 102 ++++++++++++++++++ > tests/qemu-iotests/tests/parallels-checks.out | 59 ++++++++++ > 7 files changed, 270 insertions(+), 37 deletions(-) > > -- > 2.53.0 > >