Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qemu for openSUSE:Factory checked in at 2021-09-11 22:24:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qemu (Old) and /work/SRC/openSUSE:Factory/.qemu.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qemu" Sat Sep 11 22:24:19 2021 rev:211 rq:917638 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/qemu/qemu.changes 2021-09-04 22:32:00.183885031 +0200 +++ /work/SRC/openSUSE:Factory/.qemu.new.1899/qemu.changes 2021-09-11 22:24:31.731386511 +0200 @@ -1,0 +2,36 @@ +Wed Sep 8 17:51:18 UTC 2021 - Jos?? Ricardo Ziviani <jose.zivi...@suse.com> + +- Fix qemu build on ARMv7 (bsc#1190211) +* Patches added: + tcg-arm-Fix-tcg_out_vec_op-function-sign.patch + +------------------------------------------------------------------- +Wed Sep 8 13:56:04 UTC 2021 - Jos?? Ricardo Ziviani <jose.zivi...@suse.com> + +- Update supported file for ARM machines. + +------------------------------------------------------------------- +Thu Sep 2 19:17:19 UTC 2021 - Jos?? Ricardo Ziviani <jose.zivi...@suse.com> + +- Keep qemu-img without backing format still deprecated + (bsc#1190135) +* Patches added: + Revert-qemu-img-Improve-error-for-rebase.patch + Revert-qemu-img-Require-F-with-b-backing.patch +- Update the support files to reflect the deprecation. + +------------------------------------------------------------------- +Tue Aug 31 12:34:39 UTC 2021 - Jos?? Ricardo Ziviani <jose.zivi...@suse.com> + +- Update build dependencies versions: libgcrypt >= 1.8.0, + gnutls >= 3.5.18, glib >= 2.56, libssh >= 0.8.7 + +------------------------------------------------------------------- +Fri Aug 27 17:16:51 UTC 2021 - Jos?? Ricardo Ziviani <jose.zivi...@suse.com> + +- Fix hardcoded binfmt handler doesn't play well with containers + (bsc#1186256) +* Patches added: + qemu-binfmt-conf.sh-allow-overriding-SUS.patch + +------------------------------------------------------------------- New: ---- Revert-qemu-img-Improve-error-for-rebase.patch Revert-qemu-img-Require-F-with-b-backing.patch qemu-binfmt-conf.sh-allow-overriding-SUS.patch tcg-arm-Fix-tcg_out_vec_op-function-sign.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qemu.spec ++++++ --- /var/tmp/diff_new_pack.UkEzdE/_old 2021-09-11 22:24:33.419388175 +0200 +++ /var/tmp/diff_new_pack.UkEzdE/_new 2021-09-11 22:24:33.423388179 +0200 @@ -1,5 +1,5 @@ # -# spec file +# spec file for package qemu # # Copyright (c) 2021 SUSE LLC # @@ -176,6 +176,10 @@ Patch00041: usb-Help-compiler-out-to-avoid-a-warning.patch Patch00042: qom-handle-case-of-chardev-spice-module-.patch Patch00043: doc-add-our-support-doc-to-the-main-proj.patch +Patch00044: qemu-binfmt-conf.sh-allow-overriding-SUS.patch +Patch00045: Revert-qemu-img-Improve-error-for-rebase.patch +Patch00046: Revert-qemu-img-Require-F-with-b-backing.patch +Patch00047: tcg-arm-Fix-tcg_out_vec_op-function-sign.patch # Patches applied in roms/seabios/: Patch01000: seabios-use-python2-explicitly-as-needed.patch Patch01001: seabios-switch-to-python3-as-needed.patch @@ -206,7 +210,7 @@ BuildRequires: python3-base >= 3.6 BuildRequires: python3-setuptools %if "%{name}" == "qemu-linux-user" -BuildRequires: glib2-devel-static +BuildRequires: glib2-devel-static >= 2.56 BuildRequires: glibc-devel-static BuildRequires: pcre-devel-static BuildRequires: zlib-devel-static @@ -248,7 +252,7 @@ BuildRequires: dos2unix %endif BuildRequires: flex -BuildRequires: pkgconfig(glib-2.0) >= 2.48 +BuildRequires: pkgconfig(glib-2.0) >= 2.56 %if %{build_x86_firmware_from_source} BuildRequires: glibc-devel-32bit %endif @@ -256,11 +260,11 @@ BuildRequires: libattr-devel BuildRequires: libbz2-devel BuildRequires: libfdt-devel >= 1.4.2 -BuildRequires: libgcrypt-devel >= 1.5.0 +BuildRequires: libgcrypt-devel >= 1.8.0 BuildRequires: pkgconfig(epoxy) BuildRequires: pkgconfig(gbm) BuildRequires: pkgconfig(glusterfs-api) >= 3 -BuildRequires: pkgconfig(gnutls) >= 3.1.18 +BuildRequires: pkgconfig(gnutls) >= 3.5.18 BuildRequires: pkgconfig(gtk+-3.0) >= 3.22 BuildRequires: pkgconfig(libcacard) >= 2.5.1 BuildRequires: pkgconfig(libcap-ng) @@ -286,7 +290,7 @@ %endif BuildRequires: Mesa-devel BuildRequires: pkgconfig(libseccomp) >= 2.3.0 -BuildRequires: pkgconfig(libssh) >= 0.8 +BuildRequires: pkgconfig(libssh) >= 0.8.7 BuildRequires: pkgconfig(slirp) >= 4.2.0 BuildRequires: pkgconfig(spice-server) >= 0.12.5 %if 0%{?with_uring} @@ -1110,6 +1114,10 @@ %if %{legacy_qemu_kvm} %patch00043 -p1 %endif +%patch00044 -p1 +%patch00045 -p1 +%patch00046 -p1 +%patch00047 -p1 %patch01000 -p1 %patch01001 -p1 %patch01002 -p1 ++++++ Revert-qemu-img-Improve-error-for-rebase.patch ++++++ From: "Jose R. Ziviani" <jzivi...@suse.de> Date: Thu, 2 Sep 2021 16:06:20 -0300 Subject: Revert "qemu-img: Improve error for rebase without backing format" This reverts commit a7cd44bef3d9380181734a93977c3d1df3eef2cf. References: bsc#1190135 Signed-off-by: Jose R Ziviani <jose.zivi...@suse.com> --- qemu-img.c | 3 --- tests/qemu-iotests/114.out | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/qemu-img.c b/qemu-img.c index 908fd0cce5b4fc90a4798ea4a1c4..3ebd09245290878c24c8f1412146 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -3810,9 +3810,6 @@ static int img_rebase(int argc, char **argv) if (ret == -ENOSPC) { error_report("Could not change the backing file to '%s': No " "space left in the file header", out_baseimg); - } else if (ret == -EINVAL && out_baseimg && !out_basefmt) { - error_report("Could not change the backing file to '%s': backing " - "format must be specified", out_baseimg); } else if (ret < 0) { error_report("Could not change the backing file to '%s': %s", out_baseimg, strerror(-ret)); diff --git a/tests/qemu-iotests/114.out b/tests/qemu-iotests/114.out index f51dd9d20a1038c54d7d6e073b5e..6d638da266e495e8bed2fbcf919e 100644 --- a/tests/qemu-iotests/114.out +++ b/tests/qemu-iotests/114.out @@ -14,7 +14,7 @@ qemu-io: can't open device TEST_DIR/t.qcow2: Could not open backing file: Unknow no file open, try 'help open' read 4096/4096 bytes at offset 0 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -qemu-img: Could not change the backing file to 'TEST_DIR/t.qcow2.base': backing format must be specified +qemu-img: Could not change the backing file to 'TEST_DIR/t.qcow2.base': Invalid argument read 4096/4096 bytes at offset 0 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) *** done ++++++ Revert-qemu-img-Require-F-with-b-backing.patch ++++++ From: "Jose R. Ziviani" <jzivi...@suse.de> Date: Thu, 2 Sep 2021 16:13:08 -0300 Subject: Revert "qemu-img: Require -F with -b backing image" This reverts commit 497a30dbb065937d67f6c43af6dd78492e1d6f6d. References: bsc#1190135 Signed-off-by: Jose R Ziviani <jose.zivi...@suse.com> --- block.c | 37 +++++++++++++++++++++++---------- docs/about/deprecated.rst | 20 ++++++++++++++++++ docs/about/removed-features.rst | 19 ----------------- qemu-img.c | 6 ++---- tests/qemu-iotests/040 | 4 ++-- tests/qemu-iotests/041 | 6 ++---- tests/qemu-iotests/114 | 18 ++++++++-------- tests/qemu-iotests/114.out | 11 ++++++---- tests/qemu-iotests/301 | 4 +++- tests/qemu-iotests/301.out | 16 ++++++++++++-- 10 files changed, 85 insertions(+), 56 deletions(-) diff --git a/block.c b/block.c index e97ce0b1c83eb68db8abccfe9086..06f5ff49ee79ab5d423008ecc20e 100644 --- a/block.c +++ b/block.c @@ -5119,7 +5119,7 @@ int coroutine_fn bdrv_co_check(BlockDriverState *bs, * -ENOTSUP - format driver doesn't support changing the backing file */ int bdrv_change_backing_file(BlockDriverState *bs, const char *backing_file, - const char *backing_fmt, bool require) + const char *backing_fmt, bool warn) { BlockDriver *drv = bs->drv; int ret; @@ -5133,8 +5133,10 @@ int bdrv_change_backing_file(BlockDriverState *bs, const char *backing_file, return -EINVAL; } - if (require && backing_file && !backing_fmt) { - return -EINVAL; + if (warn && backing_file && !backing_fmt) { + warn_report("Deprecated use of backing file without explicit " + "backing format, use of this image requires " + "potentially unsafe format probing"); } if (drv->bdrv_change_backing_file != NULL) { @@ -6647,11 +6649,24 @@ void bdrv_img_create(const char *filename, const char *fmt, goto out; } else { if (!backing_fmt) { - error_setg(&local_err, - "Backing file specified without backing format"); - error_append_hint(&local_err, "Detected format of %s.", - bs->drv->format_name); - goto out; + warn_report("Deprecated use of backing file without explicit " + "backing format (detected format of %s)", + bs->drv->format_name); + if (bs->drv != &bdrv_raw) { + /* + * A probe of raw deserves the most attention: + * leaving the backing format out of the image + * will ensure bs->probed is set (ensuring we + * don't accidentally commit into the backing + * file), and allow more spots to warn the users + * to fix their toolchain when opening this image + * later. For other images, we can safely record + * the format that we probed. + */ + backing_fmt = bs->drv->format_name; + qemu_opt_set(opts, BLOCK_OPT_BACKING_FMT, backing_fmt, + NULL); + } } if (size == -1) { /* Opened BS, have no size */ @@ -6668,9 +6683,9 @@ void bdrv_img_create(const char *filename, const char *fmt, } /* (backing_file && !(flags & BDRV_O_NO_BACKING)) */ } else if (backing_file && !backing_fmt) { - error_setg(&local_err, - "Backing file specified without backing format"); - goto out; + warn_report("Deprecated use of unopened backing file without " + "explicit backing format, use of this image requires " + "potentially unsafe format probing"); } if (size == -1) { diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 6d438f1c8d41e19c4fc976d1c7da..638f1000cbd19a72aa456104446f 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -300,6 +300,26 @@ this CPU is also deprecated. Related binaries ---------------- +qemu-img backing file without format (since 5.1) +'''''''''''''''''''''''''''''''''''''''''''''''' + +The use of ``qemu-img create``, ``qemu-img rebase``, or ``qemu-img +convert`` to create or modify an image that depends on a backing file +now recommends that an explicit backing format be provided. This is +for safety: if QEMU probes a different format than what you thought, +the data presented to the guest will be corrupt; similarly, presenting +a raw image to a guest allows a potential security exploit if a future +probe sees a non-raw image based on guest writes. + +To avoid the warning message, or even future refusal to create an +unsafe image, you must pass ``-o backing_fmt=`` (or the shorthand +``-F`` during create) to specify the intended backing format. You may +use ``qemu-img rebase -u`` to retroactively add a backing format to an +existing image. However, be aware that there are already potential +security risks to blindly using ``qemu-img info`` to probe the format +of an untrusted backing image, when deciding what format to add into +an existing image. + Backwards compatibility ----------------------- diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst index cbfa1a8e31a69200c2bb97ddffb1..afadc8f7e0fc4e2377ee85d6166c 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -678,25 +678,6 @@ backing chain should be performed with ``qemu-img rebase -u`` either before or after the remaining changes being performed by amend, as appropriate. -qemu-img backing file without format (removed in 6.1) -''''''''''''''''''''''''''''''''''''''''''''''''''''' - -The use of ``qemu-img create``, ``qemu-img rebase``, or ``qemu-img -convert`` to create or modify an image that depends on a backing file -now requires that an explicit backing format be provided. This is -for safety: if QEMU probes a different format than what you thought, -the data presented to the guest will be corrupt; similarly, presenting -a raw image to a guest allows a potential security exploit if a future -probe sees a non-raw image based on guest writes. - -To avoid creating unsafe backing chains, you must pass ``-o -backing_fmt=`` (or the shorthand ``-F`` during create) to specify the -intended backing format. You may use ``qemu-img rebase -u`` to -retroactively add a backing format to an existing image. However, be -aware that there are already potential security risks to blindly using -``qemu-img info`` to probe the format of an untrusted backing image, -when deciding what format to add into an existing image. - Block devices ------------- diff --git a/qemu-img.c b/qemu-img.c index 3ebd09245290878c24c8f1412146..4da817857f3efccc2bd83297500b 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -2549,10 +2549,8 @@ static int img_convert(int argc, char **argv) if (out_baseimg_param) { if (!qemu_opt_get(opts, BLOCK_OPT_BACKING_FMT)) { - error_report("Use of backing file requires explicit " - "backing format"); - ret = -1; - goto out; + warn_report("Deprecated use of backing file without explicit " + "backing format"); } } diff --git a/tests/qemu-iotests/040 b/tests/qemu-iotests/040 index f3677de9dfde326ad85515ec8bfa..ba7cb34ce8cf95df6fa63f9eb8f0 100755 --- a/tests/qemu-iotests/040 +++ b/tests/qemu-iotests/040 @@ -920,8 +920,8 @@ class TestCommitWithOverriddenBacking(iotests.QMPTestCase): def setUp(self): qemu_img('create', '-f', iotests.imgfmt, self.img_base_a, '1M') qemu_img('create', '-f', iotests.imgfmt, self.img_base_b, '1M') - qemu_img('create', '-f', iotests.imgfmt, '-b', self.img_base_a, - '-F', iotests.imgfmt, self.img_top) + qemu_img('create', '-f', iotests.imgfmt, '-b', self.img_base_a, \ + self.img_top) self.vm = iotests.VM() self.vm.launch() diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041 index db9f5dc540e84c597d30521d4b6c..5cc02b24fc7a8be3d28e0e9737cb 100755 --- a/tests/qemu-iotests/041 +++ b/tests/qemu-iotests/041 @@ -1295,10 +1295,8 @@ class TestReplaces(iotests.QMPTestCase): class TestFilters(iotests.QMPTestCase): def setUp(self): qemu_img('create', '-f', iotests.imgfmt, backing_img, '1M') - qemu_img('create', '-f', iotests.imgfmt, '-b', backing_img, - '-F', iotests.imgfmt, test_img) - qemu_img('create', '-f', iotests.imgfmt, '-b', backing_img, - '-F', iotests.imgfmt, target_img) + qemu_img('create', '-f', iotests.imgfmt, '-b', backing_img, test_img) + qemu_img('create', '-f', iotests.imgfmt, '-b', backing_img, target_img) qemu_io('-c', 'write -P 1 0 512k', backing_img) qemu_io('-c', 'write -P 2 512k 512k', test_img) diff --git a/tests/qemu-iotests/114 b/tests/qemu-iotests/114 index de6fd327eea9e2ef5d21fc6fbf0b..43cb0bc6c3443a809f4dcd42ecce 100755 --- a/tests/qemu-iotests/114 +++ b/tests/qemu-iotests/114 @@ -44,16 +44,16 @@ _supported_os Linux # qcow2.py does not work too well with external data files _unsupported_imgopts data_file -# Older qemu-img could set up backing file without backing format; modern -# qemu can't but we can use qcow2.py to simulate older files. +# Intentionally specify backing file without backing format; demonstrate +# the difference in warning messages when backing file could be probed. +# Note that only a non-raw probe result will affect the resulting image. truncate -s $((64 * 1024 * 1024)) "$TEST_IMG.orig" -_make_test_img -b "$TEST_IMG.orig" -F raw 64M -$PYTHON qcow2.py "$TEST_IMG" del-header-ext 0xE2792ACA +_make_test_img -b "$TEST_IMG.orig" 64M TEST_IMG="$TEST_IMG.base" _make_test_img 64M $QEMU_IMG convert -O qcow2 -B "$TEST_IMG.orig" "$TEST_IMG.orig" "$TEST_IMG" -_make_test_img -b "$TEST_IMG.base" -F $IMGFMT 64M -_make_test_img -u -b "$TEST_IMG.base" -F $IMGFMT 64M +_make_test_img -b "$TEST_IMG.base" 64M +_make_test_img -u -b "$TEST_IMG.base" 64M # Set an invalid backing file format $PYTHON qcow2.py "$TEST_IMG" add-header-ext 0xE2792ACA "foo" @@ -64,9 +64,9 @@ _img_info $QEMU_IO -c "open $TEST_IMG" -c "read 0 4k" 2>&1 | _filter_qemu_io | _filter_testdir $QEMU_IO -c "open -o backing.driver=$IMGFMT $TEST_IMG" -c "read 0 4k" | _filter_qemu_io -# Rebase the image, to show that backing format is required. -($QEMU_IMG rebase -u -b "$TEST_IMG.base" "$TEST_IMG" 2>&1 && echo "unexpected pass") | _filter_testdir -$QEMU_IMG rebase -u -b "$TEST_IMG.base" -F $IMGFMT "$TEST_IMG" +# Rebase the image, to show that omitting backing format triggers a warning, +# but probing now lets us use the backing file. +$QEMU_IMG rebase -u -b "$TEST_IMG.base" "$TEST_IMG" $QEMU_IO -c "open $TEST_IMG" -c "read 0 4k" 2>&1 | _filter_qemu_io | _filter_testdir # success, all done diff --git a/tests/qemu-iotests/114.out b/tests/qemu-iotests/114.out index 6d638da266e495e8bed2fbcf919e..0a37d20c82a95d6d5ea9fc9635e7 100644 --- a/tests/qemu-iotests/114.out +++ b/tests/qemu-iotests/114.out @@ -1,9 +1,12 @@ QA output created by 114 -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.orig backing_fmt=raw +qemu-img: warning: Deprecated use of backing file without explicit backing format (detected format of raw) +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.orig Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864 -qemu-img: Use of backing file requires explicit backing format -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT +qemu-img: warning: Deprecated use of backing file without explicit backing format +qemu-img: warning: Deprecated use of backing file without explicit backing format (detected format of IMGFMT) Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT +qemu-img: warning: Deprecated use of unopened backing file without explicit backing format, use of this image requires potentially unsafe format probing +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base image: TEST_DIR/t.IMGFMT file format: IMGFMT virtual size: 64 MiB (67108864 bytes) @@ -14,7 +17,7 @@ qemu-io: can't open device TEST_DIR/t.qcow2: Could not open backing file: Unknow no file open, try 'help open' read 4096/4096 bytes at offset 0 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -qemu-img: Could not change the backing file to 'TEST_DIR/t.qcow2.base': Invalid argument +qemu-img: warning: Deprecated use of backing file without explicit backing format, use of this image requires potentially unsafe format probing read 4096/4096 bytes at offset 0 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) *** done diff --git a/tests/qemu-iotests/301 b/tests/qemu-iotests/301 index 220de1043fa5dcad8f8563a452c1..9f943cadbe24413c7f453101a6a9 100755 --- a/tests/qemu-iotests/301 +++ b/tests/qemu-iotests/301 @@ -3,7 +3,7 @@ # # Test qcow backing file warnings # -# Copyright (C) 2020-2021 Red Hat, Inc. +# Copyright (C) 2020 Red Hat, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -46,6 +46,7 @@ echo "== qcow backed by qcow ==" TEST_IMG="$TEST_IMG.base" _make_test_img $size _make_test_img -b "$TEST_IMG.base" $size +_img_info _make_test_img -b "$TEST_IMG.base" -F $IMGFMT $size _img_info @@ -70,6 +71,7 @@ echo "== qcow backed by raw ==" rm "$TEST_IMG.base" truncate --size=$size "$TEST_IMG.base" _make_test_img -b "$TEST_IMG.base" $size +_img_info _make_test_img -b "$TEST_IMG.base" -F raw $size _img_info diff --git a/tests/qemu-iotests/301.out b/tests/qemu-iotests/301.out index e280658191e1eba861b821fafa35..9004dad6392f4a0ec685fb4a80d1 100644 --- a/tests/qemu-iotests/301.out +++ b/tests/qemu-iotests/301.out @@ -2,7 +2,13 @@ QA output created by 301 == qcow backed by qcow == Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=33554432 -qemu-img: TEST_DIR/t.IMGFMT: Backing file specified without backing format +qemu-img: warning: Deprecated use of backing file without explicit backing format (detected format of IMGFMT) +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT +image: TEST_DIR/t.IMGFMT +file format: IMGFMT +virtual size: 32 MiB (33554432 bytes) +cluster_size: 512 +backing file: TEST_DIR/t.IMGFMT.base Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT image: TEST_DIR/t.IMGFMT file format: IMGFMT @@ -30,7 +36,13 @@ cluster_size: 512 backing file: TEST_DIR/t.IMGFMT.base == qcow backed by raw == -qemu-img: TEST_DIR/t.IMGFMT: Backing file specified without backing format +qemu-img: warning: Deprecated use of backing file without explicit backing format (detected format of raw) +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base +image: TEST_DIR/t.IMGFMT +file format: IMGFMT +virtual size: 32 MiB (33554432 bytes) +cluster_size: 512 +backing file: TEST_DIR/t.IMGFMT.base Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=raw image: TEST_DIR/t.IMGFMT file format: IMGFMT ++++++ bundles.tar.xz ++++++ Binary files old/f9baca549e44791be0dd98de15add3d8452a8af0.bundle and new/f9baca549e44791be0dd98de15add3d8452a8af0.bundle differ ++++++ qemu-binfmt-conf.sh-allow-overriding-SUS.patch ++++++ From: Martin Wilck <mwi...@suse.com> Date: Wed, 19 May 2021 17:24:45 +0200 Subject: qemu-binfmt-conf.sh: allow overriding SUSE-specific argv[0] handling Git-commit: 0000000000000000000000000000000000000000 References: bsc#1186256 Since abbc0ce ("qemu-binfmt-conf: use qemu-ARCH-binfmt"), qemu-binfmt-conf.sh automatically replaces the default qemu binfmt wrapper qemu-$ARCH with qemu-$ARCH-binfmt in order to ensure that argv[0] is preserved; qemu-$ARCH-binfmt is a link to qemu-binfmt, which is just a simple wrapper that mangles argv to achieve the desired result. This is inconvenient in some situations. In particular for running foreign-arch containers, it's useful to use the binfmt_misc "F" ("fix binary") flag to pre-load the qemu wrapper in the kernel. That way, foreign-arch containers can be run just like native containers, without having to bind-mount interpreters into the container. But that's impossible with the SUSE binfmt wrapper that needs to exec() a different (native) executable. As the qemu-binfmt-conf script supports the --qemu-suffix option anyway, use it to set the "-binfmt" suffix, thus allowing admins to override the SUSE default with the option "--qemu-suffix ''". Signed-off-by: Martin Wilck <mwi...@suse.com> Acked-by: Jose R Ziviani <jose.zivi...@suse.com> --- scripts/qemu-binfmt-conf.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh index c46e604fa6ef3faaecccaae835ba..76c96815c350d7646aca7877587a 100755 --- a/scripts/qemu-binfmt-conf.sh +++ b/scripts/qemu-binfmt-conf.sh @@ -185,6 +185,7 @@ Usage: qemu-binfmt-conf.sh [--qemu-path PATH][--debian][--systemd CPU] --help: display this usage --qemu-path: set path to qemu interpreter ($QEMU_PATH) --qemu-suffix: add a suffix to the default interpreter name + (default: "-binfmt") --debian: don't write into /proc, instead generate update-binfmts templates --systemd: don't write into /proc, @@ -316,9 +317,9 @@ qemu_set_binfmts() { continue fi - qemu="$QEMU_PATH/qemu-$cpu-binfmt" + qemu="$QEMU_PATH/qemu-$cpu" if [ "$cpu" = "i486" ] ; then - qemu="$QEMU_PATH/qemu-i386-binfmt" + qemu="$QEMU_PATH/qemu-i386" fi qemu="$qemu$QEMU_SUFFIX" @@ -338,7 +339,7 @@ QEMU_PATH=/usr/bin CREDENTIAL=no PERSISTENT=no PRESERVE_ARG0=no -QEMU_SUFFIX="" +QEMU_SUFFIX="-binfmt" options=$(getopt -o ds:Q:S:e:hc:p:g: -l debian,systemd:,qemu-path:,qemu-suffix:,exportdir:,help,credential:,persistent:,preserve-argv0: -- "$@") eval set -- "$options" ++++++ qemu.spec.in ++++++ --- /var/tmp/diff_new_pack.UkEzdE/_old 2021-09-11 22:24:33.799388549 +0200 +++ /var/tmp/diff_new_pack.UkEzdE/_new 2021-09-11 22:24:33.803388554 +0200 @@ -142,7 +142,7 @@ BuildRequires: python3-base >= 3.6 BuildRequires: python3-setuptools %if "%{name}" == "qemu-linux-user" -BuildRequires: glib2-devel-static +BuildRequires: glib2-devel-static >= 2.56 BuildRequires: glibc-devel-static BuildRequires: pcre-devel-static BuildRequires: zlib-devel-static @@ -184,7 +184,7 @@ BuildRequires: dos2unix %endif BuildRequires: flex -BuildRequires: pkgconfig(glib-2.0) >= 2.48 +BuildRequires: pkgconfig(glib-2.0) >= 2.56 %if %{build_x86_firmware_from_source} BuildRequires: glibc-devel-32bit %endif @@ -192,11 +192,11 @@ BuildRequires: libattr-devel BuildRequires: libbz2-devel BuildRequires: libfdt-devel >= 1.4.2 -BuildRequires: libgcrypt-devel >= 1.5.0 +BuildRequires: libgcrypt-devel >= 1.8.0 BuildRequires: pkgconfig(epoxy) BuildRequires: pkgconfig(gbm) BuildRequires: pkgconfig(glusterfs-api) >= 3 -BuildRequires: pkgconfig(gnutls) >= 3.1.18 +BuildRequires: pkgconfig(gnutls) >= 3.5.18 BuildRequires: pkgconfig(gtk+-3.0) >= 3.22 BuildRequires: pkgconfig(libcacard) >= 2.5.1 BuildRequires: pkgconfig(libcap-ng) @@ -222,7 +222,7 @@ %endif BuildRequires: Mesa-devel BuildRequires: pkgconfig(libseccomp) >= 2.3.0 -BuildRequires: pkgconfig(libssh) >= 0.8 +BuildRequires: pkgconfig(libssh) >= 0.8.7 BuildRequires: pkgconfig(slirp) >= 4.2.0 BuildRequires: pkgconfig(spice-server) >= 0.12.5 %if 0%{?with_uring} ++++++ supported.arm.txt ++++++ --- /var/tmp/diff_new_pack.UkEzdE/_old 2021-09-11 22:24:33.843388593 +0200 +++ /var/tmp/diff_new_pack.UkEzdE/_new 2021-09-11 22:24:33.843388593 +0200 @@ -152,6 +152,10 @@ removed features are also tracked in the "System Emulation" section of the documentation installed with the qemu package. +- qemu-img: Deprecate use of -b without -F. Creating an image that requires + format probing of the backing image is potentially unsafe and is now + deprecated. + - Aspeed swift-bmc machine is deprecated. It can be easily replaced by the witherspoon-bmc or the romulus-bmc machines. @@ -798,34 +802,31 @@ lm3s6965evb|lm3s811evb|mainstone|mcimx6ul-evk|mcimx7d-sabre|microbit| midway|mps2-an385|mps2-an386|mps2-an500|mps2-an505|mps2-an511|mps2-an521| mps3-an524|mps3-an547|musca-a|musca-b1|musicpal|n800|n810|netduino2| - netduinoplus2|none|npcm750-evb|nuri|orangepi-pc|palmetto-bmc| - quanta-gbs-bmc|quanta-gsj|quanta-q71l-bmc|rainier-bmc|raspi0|raspi1ap| - raspi2|raspi2b|raspi3ap|raspi3|raspi3b|realview-eb|realview-eb-mpcore| - realview-pb-a8|realview-pbx-a9|romulus-bmc|sabrelite|sbsa-ref|smdkc210| - sonorapass-bmc|spitz|stm32vldiscovery|supermicrox11-bmc|swift-bmc|sx1| - sx1-v1|tacoma-bmc|terrier|tosa|verdex|versatileab|versatilepb|vexpress-a15| - vexpress-a9|virt-2.10|virt-2.11|virt-2.12|virt-2.6|virt-2.7|virt-2.8| - virt-2.9|virt-3.0|virt-3.1|virt-4.0|virt-4.1|virt-4.2|virt-5.0|virt-5.1| - virt-5.2|virt-6.0|virt|virt-6.1|witherspoon-bmc|xilinx-zynq-a9| - xlnx-versal-virt|xlnx-zcu102|z2] + netduinoplus2|npcm750-evb|nuri|orangepi-pc|palmetto-bmc|quanta-gsj|raspi0| + raspi1ap|raspi2|raspi2b|raspi3ap|raspi3|raspi3b|realview-eb| + realview-eb-mpcore|realview-pb-a8|realview-pbx-a9|romulus-bmc|sabrelite| + sbsa-ref|smdkc210|sonorapass-bmc|spitz|supermicrox11-bmc|swift-bmc|sx1| + sx1-v1|tacoma-bmc|terrier|tosa|verdex|versatileab|versatilepb| + vexpress-a15|vexpress-a9|virt-2.12|virt-2.7|virt-2.8|virt-3.0|virt-4.0| + virt-4.1|virt-5.0|virt-5.1|virt-6.0|virt|virt-6.1|witherspoon-bmc| + xilinx-zynq-a9|xlnx-versal-virt|xlnx-zcu102|z2] -machine - [akita|ast2500-evb|ast2600-evb|borzoi|canon-a1100|cheetah|collie| - connex|cubieboard|emcraft-sf2|g220a-bmc|highbank|imx25-pdk|integratorcp| - kzm|lm3s6965evb|lm3s811evb|mainstone|mcimx6ul-evk|mcimx7d-sabre|microbit| - midway|mps2-an385|mps2-an386|mps2-an500|mps2-an505|mps2-an511|mps2-an521| - mps3-an524|mps3-an547|musca-a|musca-b1|musicpal|n800|n810|netduino2| - netduinoplus2|none|npcm750-evb|nuri|orangepi-pc|palmetto-bmc| - quanta-gbs-bmc|quanta-gsj|quanta-q71l-bmc|rainier-bmc|raspi0|raspi1ap| - raspi2|raspi2b|raspi3ap|raspi3|raspi3b|realview-eb|realview-eb-mpcore| - realview-pb-a8|realview-pbx-a9|romulus-bmc|sabrelite|sbsa-ref|smdkc210| - sonorapass-bmc|spitz|stm32vldiscovery|supermicrox11-bmc|swift-bmc|sx1| - sx1-v1|tacoma-bmc|terrier|tosa|verdex|versatileab|versatilepb| - vexpress-a15|vexpress-a9|virt-2.10|virt-2.11|virt-2.12|virt-2.6|virt-2.7| - virt-2.8|virt-2.9|virt-3.0|virt-3.1|virt-4.0|virt-4.1|virt-4.2|virt-5.0| - virt-5.1|virt-5.2|virt-6.0|virt|virt-6.1|witherspoon-bmc|xilinx-zynq-a9| - xlnx-versal-virt|xlnx-zcu102|z2] + [akita|ast2500-evb|ast2600-evb|borzoi|canon-a1100|cheetah|collie| + connex|cubieboard|emcraft-sf2|g220a-bmc|highbank|imx25-pdk| + integratorcp|kzm|lm3s6965evb|lm3s811evb|mainstone|mcimx6ul-evk| + mcimx7d-sabre|microbit|midway|mps2-an385|mps2-an386|mps2-an500| + mps2-an505|mps2-an511|mps2-an521|mps3-an524|mps3-an547|musca-a| + musca-b1|musicpal|n800|n810|netduino2|netduinoplus2|npcm750-evb| + nuri|orangepi-pc|palmetto-bmc|quanta-gsj|raspi0|raspi1ap|raspi2| + raspi2b|raspi3ap|raspi3|raspi3b|realview-eb|realview-eb-mpcore| + realview-pb-a8|realview-pbx-a9|romulus-bmc|sabrelite|sbsa-ref| + smdkc210|sonorapass-bmc|spitz|supermicrox11-bmc|swift-bmc|sx1| + sx1-v1|tacoma-bmc|terrier|tosa|verdex|versatileab|versatilepb| + vexpress-a15|vexpress-a9|virt-2.12|virt-2.7|virt-2.8|virt-3.0| + virt-4.0|virt-4.1|virt-5.0|virt-5.1|virt-6.0|virt|virt-6.1| + witherspoon-bmc|xilinx-zynq-a9|xlnx-versal-virt|xlnx-zcu102|z2] -mtdblock file -net [socket|vde] ... ++++++ supported.s390.txt ++++++ --- /var/tmp/diff_new_pack.UkEzdE/_old 2021-09-11 22:24:33.879388628 +0200 +++ /var/tmp/diff_new_pack.UkEzdE/_new 2021-09-11 22:24:33.879388628 +0200 @@ -148,6 +148,10 @@ removed features are also tracked in the "System Emulation" section of the documentation installed with the qemu package. +- qemu-img: Deprecate use of -b without -F. Creating an image that requires + format probing of the backing image is potentially unsafe and is now + deprecated. + - The previously non-persistent backing file with pmem=on is deprecated. Modify VM configuration to set pmem=off to continue using fake NVDIMM with backing file or move backing file to NVDIMM storage and keep pmem=on. ++++++ supported.x86.txt ++++++ --- /var/tmp/diff_new_pack.UkEzdE/_old 2021-09-11 22:24:33.903388652 +0200 +++ /var/tmp/diff_new_pack.UkEzdE/_new 2021-09-11 22:24:33.903388652 +0200 @@ -171,6 +171,10 @@ removed features are also tracked in the "System Emulation" section of the documentation installed with the qemu package. +- qemu-img: Deprecate use of -b without -F. Creating an image that requires + format probing of the backing image is potentially unsafe and is now + deprecated. + - When no video adapter is specified, the default used is stdvga. This differs from the default of prior releases which was cirrus. The cirrus adapter was considered too outdated to continue to use as the default. ++++++ tcg-arm-Fix-tcg_out_vec_op-function-sign.patch ++++++ From: "Jose R. Ziviani" <jzivi...@suse.de> Date: Wed, 8 Sep 2021 14:06:32 -0300 Subject: tcg/arm: Fix tcg_out_vec_op function signature Git-commit: 000000000000000000000000000000000000000000 References: bsc#1190211 Commit 5e8892db93 fixed several function signatures but tcg_out_vec_op for arm is missing. It causes a build error on armv6 and armv7: tcg-target.c.inc:2718:42: error: argument 5 of type 'const TCGArg *' {aka 'const unsigned int *'} declared as a pointer [-Werror=array-parameter=] const TCGArg *args, const int *const_args) ~~~~~~~~~~~~~~^~~~ ../tcg/tcg.c:120:41: note: previously declared as an array 'const TCGArg[16]' {aka 'const unsigned int[16]'} const TCGArg args[TCG_MAX_OP_ARGS], ~~~~~~~~~~~~~~^~~~ Signed-off-by: Jose R. Ziviani <jzivi...@suse.de> --- tcg/arm/tcg-target.c.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tcg/arm/tcg-target.c.inc b/tcg/arm/tcg-target.c.inc index 007ceee68e23102ad96dd47e2d02..e5b4f8684106c6e6785a3dd060d6 100644 --- a/tcg/arm/tcg-target.c.inc +++ b/tcg/arm/tcg-target.c.inc @@ -2715,7 +2715,8 @@ static const ARMInsn vec_cmp0_insn[16] = { static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, unsigned vecl, unsigned vece, - const TCGArg *args, const int *const_args) + const TCGArg args[TCG_MAX_OP_ARGS], + const int const_args[TCG_MAX_OP_ARGS]) { TCGType type = vecl + TCG_TYPE_V64; unsigned q = vecl;