Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qemu for openSUSE:Factory checked in at 2022-10-10 18:43:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qemu (Old) and /work/SRC/openSUSE:Factory/.qemu.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qemu" Mon Oct 10 18:43:33 2022 rev:237 rq:1008827 version:7.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/qemu/qemu.changes 2022-10-01 17:42:44.745625291 +0200 +++ /work/SRC/openSUSE:Factory/.qemu.new.2275/qemu.changes 2022-10-10 18:43:41.474756131 +0200 @@ -1,0 +2,64 @@ +Fri Oct 7 12:35:50 UTC 2022 - Dario Faggioli <dfaggi...@suse.com> + +- Fixes bsc#1204082 +* Patches added: + block-io_uring-revert-Use-io_uring_regis.patch + +Wed Oct 5 15:57:27 UTC 2022 - Dario Faggioli <dfaggi...@suse.com> + +- Due to change in where some documentation files are, if + qemu-guest-agent is installed, we need to make sure we update it + to our version (bsc#1203995) + +------------------------------------------------------------------- +Wed Oct 5 15:43:56 UTC 2022 - Dario Faggioli <dfaggi...@suse.com> + +- The links in the forsplit dirs, in each subpackage, born to deal with + package & subpackage splitting, are not really used. In fact, they're + "Provides:"-ed by a bunch of subpackages, but there's no "Requires:" + for any of them. Let's just get rid of them. + +------------------------------------------------------------------- +Tue Oct 4 13:49:43 UTC 2022 - Dario Faggioli <dfaggi...@suse.com> + +- The old qemu-binfmt weappers around the various qemu-$ARCH Linux + user emulation binaries (see, e.g., bsc#1186256) are not necessary + any longer, and bsc#1143725 can now be considered fixed. +* Patches dropped: + linux-user-add-binfmt-wrapper-for-argv-0.patch + linux-user-binfmt-support-host-binaries.patch + +------------------------------------------------------------------- +Tue Oct 4 11:49:53 UTC 2022 - Dario Faggioli <dfaggi...@suse.com> + +- Fix bsc#1204001. Patches are not upstream, and have been picked up + and backported from the ML. This is something we usually prefer to + avoid, but this is urgent, and the patches looks fine, with high + chances for them to be included as they are (and if they're not, we + will revisit this, i.e., drop them and re-include the ones that are + actually committed) +* Patches added: + linux-user-add-more-compat-ioctl-definit.patch + linux-user-drop-conditionals-for-obsolet.patch + linux-user-remove-conditionals-for-many-.patch + meson-enforce-a-minimum-Linux-kernel-hea.patch + +------------------------------------------------------------------- +Tue Oct 4 11:07:14 UTC 2022 - Dario Faggioli <dfaggi...@suse.com> + +- Improve the output of update_git.sh, by including the list of + repos to which we have downstream patches. + +------------------------------------------------------------------- +Fri Sep 30 14:16:50 UTC 2022 - Dario Faggioli <dfaggi...@suse.com> + +- Fix: bsc#1202665, CVE-2022-2962 +* Patches added: + net-tulip-Restrict-DMA-engine-to-memorie.patch + +------------------------------------------------------------------- +Fri Sep 30 12:48:20 UTC 2022 - Dirk M??ller <dmuel...@suse.com> + +- skip tests that don't work under qemu-linux-user emulation + +------------------------------------------------------------------- Old: ---- linux-user-add-binfmt-wrapper-for-argv-0.patch linux-user-binfmt-support-host-binaries.patch pkg-split.txt New: ---- block-io_uring-revert-Use-io_uring_regis.patch linux-user-add-more-compat-ioctl-definit.patch linux-user-drop-conditionals-for-obsolet.patch linux-user-remove-conditionals-for-many-.patch meson-enforce-a-minimum-Linux-kernel-hea.patch net-tulip-Restrict-DMA-engine-to-memorie.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qemu.spec ++++++ --- /var/tmp/diff_new_pack.ASr031/_old 2022-10-10 18:43:43.518760531 +0200 +++ /var/tmp/diff_new_pack.ASr031/_new 2022-10-10 18:43:43.518760531 +0200 @@ -149,8 +149,7 @@ Source14: 50-seabios-256k.json Source15: 60-seabios-128k.json Source200: qemu-rpmlintrc -Source201: pkg-split.txt -Source202: DSDT.pcie +Source201: DSDT.pcie Source300: bundles.tar.xz Source301: update_git.sh Source302: config.sh @@ -165,30 +164,34 @@ Patch00003: hw-smbios-handle-both-file-formats-regar.patch Patch00004: Revert-roms-efirom-tests-uefi-test-tools.patch Patch00005: qemu-binfmt-conf-Modify-default-path.patch -Patch00006: linux-user-add-binfmt-wrapper-for-argv-0.patch -Patch00007: linux-user-binfmt-support-host-binaries.patch -Patch00008: linux-user-Fake-proc-cpuinfo.patch -Patch00009: linux-user-use-target_ulong.patch -Patch00010: linux-user-lseek-explicitly-cast-non-set.patch -Patch00011: PPC-KVM-Disable-mmu-notifier-check.patch -Patch00012: Make-char-muxer-more-robust-wrt-small-FI.patch -Patch00013: qemu-bridge-helper-reduce-security-profi.patch -Patch00014: Raise-soft-address-space-limit-to-hard-l.patch -Patch00015: increase-x86_64-physical-bits-to-42.patch -Patch00016: xen_disk-Add-suse-specific-flush-disable.patch -Patch00017: xen-add-block-resize-support-for-xen-dis.patch -Patch00018: xen-ignore-live-parameter-from-xen-save-.patch -Patch00019: scsi-generic-replace-logical-block-count.patch -Patch00020: hw-scsi-megasas-check-for-NULL-frame-in-.patch -Patch00021: scsi-generic-check-for-additional-SG_IO-.patch -Patch00022: Revert-tests-qtest-enable-more-vhost-use.patch -Patch00023: tests-change-error-message-in-test-162.patch -Patch00024: tests-qemu-iotests-Triple-timeout-of-i-o.patch -Patch00025: Disable-some-tests-that-have-problems-in.patch -Patch00026: Make-installed-scripts-explicitly-python.patch -Patch00027: meson-install-ivshmem-client-and-ivshmem.patch -Patch00028: meson-remove-pkgversion-from-CONFIG_STAM.patch -Patch00029: linux-user-use-max-as-default-CPU-model-.patch +Patch00006: linux-user-Fake-proc-cpuinfo.patch +Patch00007: linux-user-use-target_ulong.patch +Patch00008: linux-user-lseek-explicitly-cast-non-set.patch +Patch00009: PPC-KVM-Disable-mmu-notifier-check.patch +Patch00010: Make-char-muxer-more-robust-wrt-small-FI.patch +Patch00011: qemu-bridge-helper-reduce-security-profi.patch +Patch00012: Raise-soft-address-space-limit-to-hard-l.patch +Patch00013: increase-x86_64-physical-bits-to-42.patch +Patch00014: xen_disk-Add-suse-specific-flush-disable.patch +Patch00015: xen-add-block-resize-support-for-xen-dis.patch +Patch00016: xen-ignore-live-parameter-from-xen-save-.patch +Patch00017: scsi-generic-replace-logical-block-count.patch +Patch00018: hw-scsi-megasas-check-for-NULL-frame-in-.patch +Patch00019: scsi-generic-check-for-additional-SG_IO-.patch +Patch00020: Revert-tests-qtest-enable-more-vhost-use.patch +Patch00021: tests-change-error-message-in-test-162.patch +Patch00022: tests-qemu-iotests-Triple-timeout-of-i-o.patch +Patch00023: Disable-some-tests-that-have-problems-in.patch +Patch00024: Make-installed-scripts-explicitly-python.patch +Patch00025: meson-install-ivshmem-client-and-ivshmem.patch +Patch00026: meson-remove-pkgversion-from-CONFIG_STAM.patch +Patch00027: linux-user-use-max-as-default-CPU-model-.patch +Patch00028: net-tulip-Restrict-DMA-engine-to-memorie.patch +Patch00029: linux-user-add-more-compat-ioctl-definit.patch +Patch00030: linux-user-remove-conditionals-for-many-.patch +Patch00031: meson-enforce-a-minimum-Linux-kernel-hea.patch +Patch00032: linux-user-drop-conditionals-for-obsolet.patch +Patch00033: block-io_uring-revert-Use-io_uring_regis.patch # Patches applied in roms/seabios/: Patch01000: seabios-switch-to-python3-as-needed.patch Patch01001: enable-cross-compilation-on-ARM.patch @@ -377,6 +380,9 @@ %ifarch s390x Recommends: qemu-hw-s390x-virtio-gpu-ccw %else +# Due to change in where some documentation files are, if qemu-guest-agent +# is installed, we need to make sure we update it to our version. +Requires: (qemu-guest-agent = %{qemuver} if qemu-guest-agent) Recommends: qemu-hw-display-qxl Recommends: qemu-hw-display-virtio-gpu Recommends: qemu-hw-display-virtio-gpu-pci @@ -462,8 +468,6 @@ %_bindir/qemu-x86_64 %_bindir/qemu-xtensa %_bindir/qemu-xtensaeb -%_bindir/qemu-binfmt -%_bindir/qemu-*-binfmt %_sbindir/qemu-binfmt-conf.sh # End of description and files for qemu-linux-user @@ -482,7 +486,6 @@ %dir %_datadir/icons/hicolor/*/apps %dir %_datadir/%name %dir %_datadir/%name/firmware -%dir %_datadir/%name/forsplits %dir %_datadir/%name/vhost-user %dir %_sysconfdir/%name %dir %_sysconfdir/%name/firmware @@ -506,10 +509,6 @@ %_datadir/icons/hicolor/256x256/apps/qemu.png %_datadir/icons/hicolor/512x512/apps/qemu.png %_datadir/icons/hicolor/scalable/apps/qemu.svg -%_datadir/%name/forsplits/17 -%_datadir/%name/forsplits/18 -%_datadir/%name/forsplits/19 -%_datadir/%name/forsplits/pkg-split.txt %_datadir/%name/keymaps %_datadir/%name/qemu-ifup %_datadir/%name/qemu-nsis.bmp @@ -794,7 +793,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/05 Requires: qemu-ui-spice-core %{qemu_module_conflicts} @@ -803,8 +801,6 @@ %files audio-spice %defattr(-, root, root) -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/05 %dir %_libdir/%name %_libdir/%name/audio-spice.so @@ -925,7 +921,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/00 %{qemu_module_conflicts} %description chardev-baum @@ -934,8 +929,6 @@ %files chardev-baum %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/00 %dir %_libdir/%name %_libdir/%name/chardev-baum.so @@ -944,7 +937,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/08 Requires: qemu-ui-spice-core %{qemu_module_conflicts} @@ -954,8 +946,6 @@ %files chardev-spice %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/08 %dir %_libdir/%name %_libdir/%name/chardev-spice.so @@ -964,7 +954,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/01 Requires: qemu-ui-spice-core %{qemu_module_conflicts} @@ -974,8 +963,6 @@ %files hw-display-qxl %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/01 %dir %_libdir/%name %_libdir/%name/hw-display-qxl.so @@ -984,7 +971,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/04 %{qemu_module_conflicts} %description hw-display-virtio-gpu @@ -993,8 +979,6 @@ %files hw-display-virtio-gpu %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/04 %_libdir/%name/hw-display-virtio-gpu.so %_libdir/%name/hw-display-virtio-gpu-gl.so @@ -1004,7 +988,6 @@ Version: %{qemuver} Release: 0 Requires: qemu-hw-display-virtio-gpu -Provides: %name:%_datadir/%name/forsplits/11 %{qemu_module_conflicts} %description hw-display-virtio-gpu-pci @@ -1013,8 +996,6 @@ %files hw-display-virtio-gpu-pci %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/11 %dir %_libdir/%name %_libdir/%name/hw-display-virtio-gpu-pci.so %_libdir/%name/hw-display-virtio-gpu-pci-gl.so @@ -1024,7 +1005,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/12 %{qemu_module_conflicts} %description hw-display-virtio-vga @@ -1033,8 +1013,6 @@ %files hw-display-virtio-vga %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/12 %dir %_libdir/%name %_libdir/%name/hw-display-virtio-vga.so %_libdir/%name/hw-display-virtio-vga-gl.so @@ -1045,7 +1023,6 @@ Version: %{qemuver} Release: 0 Requires: qemu-hw-display-virtio-gpu -Provides: %name:%_datadir/%name/forsplits/13 %{qemu_module_conflicts} %description hw-s390x-virtio-gpu-ccw @@ -1055,8 +1032,6 @@ %files hw-s390x-virtio-gpu-ccw %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/13 %dir %_libdir/%name %_libdir/%name/hw-s390x-virtio-gpu-ccw.so @@ -1065,7 +1040,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/02 %{qemu_module_conflicts} %description hw-usb-redirect @@ -1074,8 +1048,6 @@ %files hw-usb-redirect %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/02 %dir %_libdir/%name %_libdir/%name/hw-usb-redirect.so @@ -1084,7 +1056,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/03 %{qemu_module_conflicts} %description hw-usb-smartcard @@ -1093,8 +1064,6 @@ %files hw-usb-smartcard %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/03 %dir %_libdir/%name %_libdir/%name/hw-usb-smartcard.so @@ -1103,7 +1072,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/14 %{qemu_module_conflicts} %description hw-usb-host @@ -1112,8 +1080,6 @@ %files hw-usb-host %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/14 %dir %_libdir/%name %_libdir/%name/hw-usb-host.so @@ -1168,7 +1134,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/10 %{qemu_module_conflicts} %description ui-opengl @@ -1177,8 +1142,6 @@ %files ui-opengl %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/10 %dir %_libdir/%name %_libdir/%name/ui-egl-headless.so %_libdir/%name/ui-opengl.so @@ -1205,7 +1168,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/09 Requires: qemu-ui-opengl # This next Requires is only since virt-manager expects audio support Requires: qemu-audio-spice @@ -1217,8 +1179,6 @@ %files ui-spice-core %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/09 %dir %_libdir/%name %_libdir/%name/ui-spice-core.so @@ -1289,7 +1249,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/07 %description ivshmem-tools This package contains a sample shared memory client and server which utilize @@ -1300,8 +1259,6 @@ %files ivshmem-tools %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/07 %_bindir/ivshmem-client %_bindir/ivshmem-server @@ -1385,7 +1342,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/15 %{qemu_module_conflicts} %description accel-tcg-x86 @@ -1397,8 +1353,6 @@ %files accel-tcg-x86 %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/15 %dir %_libdir/%name %_libdir/%name/accel-tcg-i386.so %_libdir/%name/accel-tcg-x86_64.so @@ -1408,7 +1362,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/16 %{qemu_module_conflicts} %description accel-qtest @@ -1420,8 +1373,6 @@ %files accel-qtest %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/16 %dir %_libdir/%name %_libdir/%name/accel-qtest-aarch64.so %_libdir/%name/accel-qtest-alpha.so @@ -1530,7 +1481,6 @@ BuildArch: noarch Requires(post): update-alternatives Requires(postun):update-alternatives -Provides: %name:%_datadir/%name/forsplits/06 %description skiboot Provides OPAL (OpenPower Abstraction Layer) firmware, aka skiboot, as @@ -1539,8 +1489,6 @@ %files skiboot %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/06 %_datadir/%name/skiboot.lid %_datadir/%name/skiboot.lid.qemu %ghost %_sysconfdir/alternatives/skiboot.lid @@ -2181,40 +2129,6 @@ unlink %{buildroot}%_datadir/qemu/trace-events-all install -d -m 755 %{buildroot}%_sbindir install -m 755 scripts/qemu-binfmt-conf.sh %{buildroot}%_sbindir -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-aarch64-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-aarch64_be-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-alpha-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-arm-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-armeb-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-cris-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-hexagon-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-hppa-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-i386-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-m68k-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-microblaze-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-microblazeel-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-mips-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-mips64-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-mips64el-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-mipsel-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-mipsn32-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-mipsn32el-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-nios2-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-or1k-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-ppc-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-ppc64-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-ppc64le-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-riscv32-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-riscv64-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-s390x-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-sh4-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-sh4eb-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-sparc-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-sparc32plus-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-sparc64-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-x86_64-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-xtensa-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-xtensaeb-binfmt # End of additional installation steps for qemu-linux-user %else @@ -2283,12 +2197,6 @@ # this was never meant for customer consumption - delete even though installed unlink %{buildroot}%_bindir/elf2dmp -install -D -m 0644 %{SOURCE201} %{buildroot}%_datadir/%name/forsplits/pkg-split.txt -for X in 00 01 02 03 04 05 07 08 09 10 11 12 13 14 15 16 17 18 19 -do - ln -s pkg-split.txt %{buildroot}%_datadir/%name/forsplits/$X -done - # For PPC and x86 firmwares, there are a few extra install steps necessary. # In general, if we know that we have not built a firmware, remove it from the # install base, as the one that we have there is the upstream binary, that got @@ -2305,7 +2213,6 @@ # create a dummy target for /etc/alternatives/skiboot.lid mkdir -p %{buildroot}%{_sysconfdir}/alternatives ln -s -f %{_sysconfdir}/alternatives/skiboot.lid %{buildroot}%{_datadir}/%name/skiboot.lid -ln -s pkg-split.txt %{buildroot}%_datadir/%name/forsplits/06 %else for f in %{ppc_extra_firmware} ; do unlink %{buildroot}%_datadir/%name/$f @@ -2346,7 +2253,12 @@ # do that in the patch itself. Instead, we keep a copy of the binary in the # package sources, and put it in place now, before the tests themselves. # If that patch is removed, the following line needs to go as well. -cp %{SOURCE202} %{srcdir}/tests/data/acpi/microvm/ +cp %{SOURCE201} %{srcdir}/tests/data/acpi/microvm/ + +%if 0%{?qemu_user_space_build} +# Seccomp is not supported by linux-user emulation +echo 'int main (void) { return 0; }' > %{srcdir}/tests/unit/test-seccomp.c +%endif # Compile the QOM test binary first, so that ... %make_build tests/qtest/qom-test @@ -2365,7 +2277,9 @@ make -O V=1 VERBOSE=1 -j1 check-block # Run qtests in parallel. If it becomes unreliable, we can try something # like this: make -O V=1 VERBOSE=1 -j1 check-qtest +%if !0%{?qemu_user_space_build} %make_build check-qtest +%endif # Last step will be to run a full check-report, but we will # enable this at a later point #make -O V=1 VERBOSE=1 -j1 check-report.junit.xml ++++++ block-io_uring-revert-Use-io_uring_regis.patch ++++++ From: Sam Li <faithilike...@gmail.com> Date: Sat, 24 Sep 2022 22:48:15 +0800 Subject: block/io_uring: revert "Use io_uring_register_ring_fd() to skip fd operations" Git-commit: 0000000000000000000000000000000000000000 References: bsc#1204082 Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1193 The commit "Use io_uring_register_ring_fd() to skip fd operations" broke when booting a guest with iothread and io_uring. That is because the io_uring_register_ring_fd() call is made from the main thread instead of IOThread where io_uring_submit() is called. It can not be guaranteed to register the ring fd in the correct thread or unregister the same ring fd if the IOThread is disabled. This optimization is not critical so we will revert previous commit. This reverts commit e2848bc574fe2715c694bf8fe9a1ba7f78a1125a and 77e3f038af1764983087e3551a0fde9951952c4d. Signed-off-by: Sam Li <faithilike...@gmail.com> Signed-off-by: Dario Faggioli <dfaggi...@suse.com> --- block/io_uring.c | 13 +------------ meson.build | 1 - 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/block/io_uring.c b/block/io_uring.c index a1760152e0581c279e22b1c3a8d0..973e15d87693370dd3388f511962 100644 --- a/block/io_uring.c +++ b/block/io_uring.c @@ -11,7 +11,6 @@ #include "qemu/osdep.h" #include <liburing.h> #include "block/aio.h" -#include "qemu/error-report.h" #include "qemu/queue.h" #include "block/block.h" #include "block/raw-aio.h" @@ -19,7 +18,6 @@ #include "qapi/error.h" #include "trace.h" - /* io_uring ring size */ #define MAX_ENTRIES 128 @@ -432,17 +430,8 @@ LuringState *luring_init(Error **errp) } ioq_init(&s->io_q); -#ifdef CONFIG_LIBURING_REGISTER_RING_FD - if (io_uring_register_ring_fd(&s->ring) < 0) { - /* - * Only warn about this error: we will fallback to the non-optimized - * io_uring operations. - */ - warn_report("failed to register linux io_uring ring file descriptor"); - } -#endif - return s; + } void luring_cleanup(LuringState *s) diff --git a/meson.build b/meson.build index 6641e86c0107906bb07d6b35d54a..265fea0648a8b651306deae60c0f 100644 --- a/meson.build +++ b/meson.build @@ -1805,7 +1805,6 @@ config_host_data.set('CONFIG_LIBNFS', libnfs.found()) config_host_data.set('CONFIG_LIBSSH', libssh.found()) config_host_data.set('CONFIG_LINUX_AIO', libaio.found()) config_host_data.set('CONFIG_LINUX_IO_URING', linux_io_uring.found()) -config_host_data.set('CONFIG_LIBURING_REGISTER_RING_FD', cc.has_function('io_uring_register_ring_fd', prefix: '#include <liburing.h>', dependencies:linux_io_uring)) config_host_data.set('CONFIG_LIBPMEM', libpmem.found()) config_host_data.set('CONFIG_NUMA', numa.found()) config_host_data.set('CONFIG_OPENGL', opengl.found()) ++++++ bundles.tar.xz ++++++ Binary files old/621da7789083b80d6f1ff1c0fb499334007b4f51.bundle and new/621da7789083b80d6f1ff1c0fb499334007b4f51.bundle differ Binary files old/roms/seabios/d239552ce7220e448ae81f41515138f7b9e3c4db.bundle and new/roms/seabios/d239552ce7220e448ae81f41515138f7b9e3c4db.bundle differ ++++++ linux-user-add-more-compat-ioctl-definit.patch ++++++ From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berra...@redhat.com> Date: Tue, 4 Oct 2022 10:32:03 +0100 Subject: linux-user: add more compat ioctl definitions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Git-commit: 0000000000000000000000000000000000000000 Refereces: bsc#1204001 GLibc changes prevent us from including linux/fs.h anymore, and we previously adjusted to this in commit 3cd3df2a9584e6f753bb62a0028bd67124ab5532 Author: Daniel P. Berrang?? <berra...@redhat.com> Date: Tue Aug 2 12:41:34 2022 -0400 linux-user: fix compat with glibc >= 2.36 sys/mount.h That change required adding compat ioctl definitions on the QEMU side for any ioctls that we would otherwise obtain from linux/fs.h. This commit adds more that were initially missed, due to their usage being conditionalized in QEMU. Signed-off-by: Daniel P. Berrang?? <berra...@redhat.com> Signed-off-by: Dario Faggioli <dfaggi...@suse.com> --- linux-user/syscall.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 9d92e56e3996dc2174a4af9d0491..5acb463d5e11311b2108358c7c01 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -111,6 +111,31 @@ #define FS_IOC32_SETFLAGS _IOW('f', 2, int) #define FS_IOC32_GETVERSION _IOR('v', 1, int) #define FS_IOC32_SETVERSION _IOW('v', 2, int) + +#define BLKGETSIZE64 _IOR(0x12,114,size_t) +#define BLKDISCARD _IO(0x12,119) +#define BLKIOMIN _IO(0x12,120) +#define BLKIOOPT _IO(0x12,121) +#define BLKALIGNOFF _IO(0x12,122) +#define BLKPBSZGET _IO(0x12,123) +#define BLKDISCARDZEROES _IO(0x12,124) +#define BLKSECDISCARD _IO(0x12,125) +#define BLKROTATIONAL _IO(0x12,126) +#define BLKZEROOUT _IO(0x12,127) + +#define FIBMAP _IO(0x00,1) +#define FIGETBSZ _IO(0x00,2) + +struct file_clone_range { + __s64 src_fd; + __u64 src_offset; + __u64 src_length; + __u64 dest_offset; +}; + +#define FICLONE _IOW(0x94, 9, int) +#define FICLONERANGE _IOW(0x94, 13, struct file_clone_range) + #else #include <linux/fs.h> #endif ++++++ linux-user-drop-conditionals-for-obsolet.patch ++++++ From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berra...@redhat.com> Date: Tue, 4 Oct 2022 10:32:06 +0100 Subject: linux-user: drop conditionals for obsolete kernel header versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Git-commit: 0000000000000000000000000000000000000000 Refereces: bsc#1204001 Given our newly enforced 4.18 baseline for the kernel headers version, we can drop any conditional checks for older versions. Signed-off-by: Daniel P. Berrang?? <berra...@redhat.com> Signed-off-by: Dario Faggioli <dfaggi...@suse.com> --- linux-user/linux_loop.h | 4 ---- linux-user/syscall.c | 14 ++------------ tests/tcg/i386/test-i386.c | 10 +++------- 3 files changed, 5 insertions(+), 23 deletions(-) diff --git a/linux-user/linux_loop.h b/linux-user/linux_loop.h index f80b96f1ff92c71bc1232b733d37..5a9e0edef2729642bfca8f146e6d 100644 --- a/linux-user/linux_loop.h +++ b/linux-user/linux_loop.h @@ -31,10 +31,6 @@ enum { #include <asm/posix_types.h> /* for __kernel_old_dev_t */ #include <asm/types.h> /* for __u64 */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) /* This is a guess. */ -#define __kernel_old_dev_t __kernel_dev_t -#endif - /* Backwards compatibility version */ struct loop_info { int lo_number; /* ioctl r/o */ diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 5acb463d5e11311b2108358c7c01..d7c0d4a45d3907f1ef28fe93f9b6 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -2525,16 +2525,12 @@ set_timeout: case NETLINK_DROP_MEMBERSHIP: case NETLINK_BROADCAST_ERROR: case NETLINK_NO_ENOBUFS: -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) case NETLINK_LISTEN_ALL_NSID: case NETLINK_CAP_ACK: -#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) */ -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) case NETLINK_EXT_ACK: -#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) case NETLINK_GET_STRICT_CHK: -#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */ +#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) */ break; default: goto unimplemented; @@ -2903,16 +2899,12 @@ get_timeout: case NETLINK_PKTINFO: case NETLINK_BROADCAST_ERROR: case NETLINK_NO_ENOBUFS: -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) case NETLINK_LISTEN_ALL_NSID: case NETLINK_CAP_ACK: -#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) */ -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) case NETLINK_EXT_ACK: -#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) case NETLINK_GET_STRICT_CHK: -#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */ +#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) */ if (get_user_u32(len, optlen)) { return -TARGET_EFAULT; } @@ -2929,7 +2921,6 @@ get_timeout: return -TARGET_EFAULT; } break; -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) case NETLINK_LIST_MEMBERSHIPS: { uint32_t *results; @@ -2960,7 +2951,6 @@ get_timeout: unlock_user(results, optval_addr, 0); break; } -#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) */ default: goto unimplemented; } diff --git a/tests/tcg/i386/test-i386.c b/tests/tcg/i386/test-i386.c index ac8d5a3c1f8b6eacf32649155c98..bd7ebb9d68b9e90673ed16a6f4cd 100644 --- a/tests/tcg/i386/test-i386.c +++ b/tests/tcg/i386/test-i386.c @@ -1231,10 +1231,6 @@ static inline int modify_ldt(int func, void * ptr, unsigned long bytecount) return syscall(__NR_modify_ldt, func, ptr, bytecount); } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 66) -#define modify_ldt_ldt_s user_desc -#endif - #define MK_SEL(n) (((n) << 3) | 7) uint8_t seg_data1[4096]; @@ -1272,7 +1268,7 @@ uint8_t seg_data2[4096]; /* NOTE: we use Linux modify_ldt syscall */ void test_segs(void) { - struct modify_ldt_ldt_s ldt; + struct user_desc ldt; long long ldt_table[3]; int res, res2; char tmp; @@ -1374,7 +1370,7 @@ extern char code16_func3; void test_code16(void) { - struct modify_ldt_ldt_s ldt; + struct user_desc ldt; int res, res2; /* build a code segment */ @@ -1781,7 +1777,7 @@ void test_exceptions(void) } { - struct modify_ldt_ldt_s ldt; + struct user_desc ldt; ldt.entry_number = 1; ldt.base_addr = (unsigned long)&seg_data1; ldt.limit = (sizeof(seg_data1) + 0xfff) >> 12; ++++++ linux-user-remove-conditionals-for-many-.patch ++++++ From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berra...@redhat.com> Date: Tue, 4 Oct 2022 10:32:04 +0100 Subject: linux-user: remove conditionals for many fs.h ioctls MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Git-commit: 0000000000000000000000000000000000000000 Refereces: bsc#1204001 These ioctls have been defined in linux/fs.h for a long time * BLKGETSIZE64 - <2.6.12 (linux.git epoch) * BLKDISCARD - 2.6.28 (d30a2605be9d5132d95944916e8f578fcfe4f976) * BLKIOMIN - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7) * BLKIOOPT - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7) * BLKALIGNOFF - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7) * BLKPBSZGET - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7) * BLKDISCARDZEROES - 2.6.32 (98262f2762f0067375f83824d81ea929e37e6bfe) * BLKSECDISCARD - 2.6.36 (8d57a98ccd0b4489003473979da8f5a1363ba7a3) * BLKROTATIONAL - 3.2 (ef00f59c95fe6e002e7c6e3663cdea65e253f4cc) * BLKZEROOUT - 3.6 (66ba32dc167202c3cf8c86806581a9393ec7f488) * FIBMAP - <2.6.12 (linux.git epoch) * FIGETBSZ - <2.6.12 (linux.git epoch) and when building with latest glibc, we'll see compat definitions in syscall.c anyway thanks to the previous patch. Thus we can assume they always exist and remove the conditional checks. Signed-off-by: Daniel P. Berrang?? <berra...@redhat.com> Signed-off-by: Dario Faggioli <dfaggi...@suse.com> --- linux-user/ioctls.h | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h index f182d40190ed43ffa1bbc4fd09cb..071f7ca2537560e3c923c9a18abb 100644 --- a/linux-user/ioctls.h +++ b/linux-user/ioctls.h @@ -96,9 +96,7 @@ IOCTL(BLKROGET, IOC_R, MK_PTR(TYPE_INT)) IOCTL(BLKRRPART, 0, TYPE_NULL) IOCTL(BLKGETSIZE, IOC_R, MK_PTR(TYPE_ULONG)) -#ifdef BLKGETSIZE64 IOCTL(BLKGETSIZE64, IOC_R, MK_PTR(TYPE_ULONGLONG)) -#endif IOCTL(BLKFLSBUF, 0, TYPE_NULL) IOCTL(BLKRASET, 0, TYPE_INT) IOCTL(BLKRAGET, IOC_R, MK_PTR(TYPE_LONG)) @@ -107,33 +105,15 @@ IOCTL_SPECIAL(BLKPG, IOC_W, do_ioctl_blkpg, MK_PTR(MK_STRUCT(STRUCT_blkpg_ioctl_arg))) -#ifdef BLKDISCARD IOCTL(BLKDISCARD, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) -#endif -#ifdef BLKIOMIN IOCTL(BLKIOMIN, IOC_R, MK_PTR(TYPE_INT)) -#endif -#ifdef BLKIOOPT IOCTL(BLKIOOPT, IOC_R, MK_PTR(TYPE_INT)) -#endif -#ifdef BLKALIGNOFF IOCTL(BLKALIGNOFF, IOC_R, MK_PTR(TYPE_INT)) -#endif -#ifdef BLKPBSZGET IOCTL(BLKPBSZGET, IOC_R, MK_PTR(TYPE_INT)) -#endif -#ifdef BLKDISCARDZEROES IOCTL(BLKDISCARDZEROES, IOC_R, MK_PTR(TYPE_INT)) -#endif -#ifdef BLKSECDISCARD IOCTL(BLKSECDISCARD, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) -#endif -#ifdef BLKROTATIONAL IOCTL(BLKROTATIONAL, IOC_R, MK_PTR(TYPE_SHORT)) -#endif -#ifdef BLKZEROOUT IOCTL(BLKZEROOUT, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) -#endif IOCTL(FDMSGON, 0, TYPE_NULL) IOCTL(FDMSGOFF, 0, TYPE_NULL) @@ -149,17 +129,13 @@ IOCTL(FDTWADDLE, 0, TYPE_NULL) IOCTL(FDEJECT, 0, TYPE_NULL) -#ifdef FIBMAP IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG)) -#endif #ifdef FICLONE IOCTL(FICLONE, IOC_W, TYPE_INT) IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range))) #endif -#ifdef FIGETBSZ IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG)) -#endif #ifdef CONFIG_FIEMAP IOCTL_SPECIAL(FS_IOC_FIEMAP, IOC_W | IOC_R, do_ioctl_fs_ioc_fiemap, MK_PTR(MK_STRUCT(STRUCT_fiemap))) ++++++ meson-enforce-a-minimum-Linux-kernel-hea.patch ++++++ From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berra...@redhat.com> Date: Tue, 4 Oct 2022 10:32:05 +0100 Subject: meson: enforce a minimum Linux kernel headers version >= 4.18 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Git-commit: 0000000000000000000000000000000000000000 Refereces: bsc#1204001 Various areas of QEMU have a dependency on Linux kernel header definitions. This falls under the scope of our supported platforms matrix, but historically we've not checked for a minimum kernel headers version. This has made it unclear when we can drop support for older kernel headers. * Alpine 3.14: 5.10 * CentOS 8: 4.18 * CentOS 9: 5.14 * Debian 10: 4.19 * Debian 11: 5.10 * Fedora 35: 5.19 * Fedora 36: 5.19 * OpenSUSE 15.3: 5.3.0 * Ubuntu 20.04: 5.4 * Ubuntu 22.04: 5.15 The above ignores the 3rd version digit since distros update their packages periodically and such updates don't generally affect public APIs to the extent that it matters for our build time check. Overall, we can set the baseline to 4.18 currently. Signed-off-by: Daniel P. Berrang?? <berra...@redhat.com> Signed-off-by: Dario Faggioli <dfaggi...@suse.com> --- meson.build | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/meson.build b/meson.build index 41f693a822a7ec58085bb53a8518..6641e86c0107906bb07d6b35d54a 100644 --- a/meson.build +++ b/meson.build @@ -248,6 +248,18 @@ if targetos == 'linux' add_project_arguments('-isystem', meson.current_source_dir() / 'linux-headers', '-isystem', 'linux-headers', language: ['c', 'cpp']) + + if not cc.compiles(''' + #include <linux/version.h> + int main(void) { +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 18, 0) +#error "QEMU requires Linux kernel headers version >= 4.18.0" +#endif + return 0; + }''') + error('QEMU requires Linux kernel headers version >= 4.18.0') +endif + endif add_project_arguments('-iquote', '.', ++++++ meson-remove-pkgversion-from-CONFIG_STAM.patch ++++++ --- /var/tmp/diff_new_pack.ASr031/_old 2022-10-10 18:43:43.854761255 +0200 +++ /var/tmp/diff_new_pack.ASr031/_new 2022-10-10 18:43:43.858761263 +0200 @@ -21,7 +21,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index ce227b6c25e3c71f16416f0a8f25..09145d35aa3e684e92da7895ac67 100644 +index 20fddbd707c91c1baee604202fb1..41f693a822a7ec58085bb53a8518 100644 --- a/meson.build +++ b/meson.build @@ -1736,7 +1736,7 @@ config_host_data.set_quoted('CONFIG_SYSCONFDIR', get_option('prefix') / get_opti ++++++ net-tulip-Restrict-DMA-engine-to-memorie.patch ++++++ From: Zheyu Ma <zheyum...@gmail.com> Date: Sun, 21 Aug 2022 20:43:43 +0800 Subject: net: tulip: Restrict DMA engine to memories Git-commit: 36a894aeb64a2e02871016da1c37d4a4ca109182 References: bsc#1202665, CVE-2022-2962 The DMA engine is started by I/O access and then itself accesses the I/O registers, triggering a reentrancy bug. The following log can reveal it: ==5637==ERROR: AddressSanitizer: stack-overflow #0 0x5595435f6078 in tulip_xmit_list_update qemu/hw/net/tulip.c:673 #1 0x5595435f204a in tulip_write qemu/hw/net/tulip.c:805:13 #2 0x559544637f86 in memory_region_write_accessor qemu/softmmu/memory.c:492:5 #3 0x5595446379fa in access_with_adjusted_size qemu/softmmu/memory.c:554:18 #4 0x5595446372fa in memory_region_dispatch_write qemu/softmmu/memory.c #5 0x55954468b74c in flatview_write_continue qemu/softmmu/physmem.c:2825:23 #6 0x559544683662 in flatview_write qemu/softmmu/physmem.c:2867:12 #7 0x5595446833f3 in address_space_write qemu/softmmu/physmem.c:2963:18 #8 0x5595435fb082 in dma_memory_rw_relaxed qemu/include/sysemu/dma.h:87:12 #9 0x5595435fb082 in dma_memory_rw qemu/include/sysemu/dma.h:130:12 #10 0x5595435fb082 in dma_memory_write qemu/include/sysemu/dma.h:171:12 #11 0x5595435fb082 in stl_le_dma qemu/include/sysemu/dma.h:272:1 #12 0x5595435fb082 in stl_le_pci_dma qemu/include/hw/pci/pci.h:910:1 #13 0x5595435fb082 in tulip_desc_write qemu/hw/net/tulip.c:101:9 #14 0x5595435f7e3d in tulip_xmit_list_update qemu/hw/net/tulip.c:706:9 #15 0x5595435f204a in tulip_write qemu/hw/net/tulip.c:805:13 Fix this bug by restricting the DMA engine to memories regions. Signed-off-by: Zheyu Ma <zheyum...@gmail.com> Signed-off-by: Jason Wang <jasow...@redhat.com> Signed-off-by: Dario Faggioli <dfaggi...@suse.com> --- hw/net/tulip.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/net/tulip.c b/hw/net/tulip.c index 097e905bec296dd1c5e96771ef63..b9e42c322ab1fb92416adfc5fda9 100644 --- a/hw/net/tulip.c +++ b/hw/net/tulip.c @@ -70,7 +70,7 @@ static const VMStateDescription vmstate_pci_tulip = { static void tulip_desc_read(TULIPState *s, hwaddr p, struct tulip_descriptor *desc) { - const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED; + const MemTxAttrs attrs = { .memory = true }; if (s->csr[0] & CSR0_DBO) { ldl_be_pci_dma(&s->dev, p, &desc->status, attrs); @@ -88,7 +88,7 @@ static void tulip_desc_read(TULIPState *s, hwaddr p, static void tulip_desc_write(TULIPState *s, hwaddr p, struct tulip_descriptor *desc) { - const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED; + const MemTxAttrs attrs = { .memory = true }; if (s->csr[0] & CSR0_DBO) { stl_be_pci_dma(&s->dev, p, desc->status, attrs); ++++++ qemu.spec.in ++++++ --- /var/tmp/diff_new_pack.ASr031/_old 2022-10-10 18:43:43.950761461 +0200 +++ /var/tmp/diff_new_pack.ASr031/_new 2022-10-10 18:43:43.954761470 +0200 @@ -149,8 +149,7 @@ Source14: 50-seabios-256k.json Source15: 60-seabios-128k.json Source200: qemu-rpmlintrc -Source201: pkg-split.txt -Source202: DSDT.pcie +Source201: DSDT.pcie Source300: bundles.tar.xz Source301: update_git.sh Source302: config.sh @@ -323,6 +322,9 @@ %ifarch s390x Recommends: qemu-hw-s390x-virtio-gpu-ccw %else +# Due to change in where some documentation files are, if qemu-guest-agent +# is installed, we need to make sure we update it to our version. +Requires: (qemu-guest-agent = %{qemuver} if qemu-guest-agent) Recommends: qemu-hw-display-qxl Recommends: qemu-hw-display-virtio-gpu Recommends: qemu-hw-display-virtio-gpu-pci @@ -408,8 +410,6 @@ %_bindir/qemu-x86_64 %_bindir/qemu-xtensa %_bindir/qemu-xtensaeb -%_bindir/qemu-binfmt -%_bindir/qemu-*-binfmt %_sbindir/qemu-binfmt-conf.sh # End of description and files for qemu-linux-user @@ -428,7 +428,6 @@ %dir %_datadir/icons/hicolor/*/apps %dir %_datadir/%name %dir %_datadir/%name/firmware -%dir %_datadir/%name/forsplits %dir %_datadir/%name/vhost-user %dir %_sysconfdir/%name %dir %_sysconfdir/%name/firmware @@ -452,10 +451,6 @@ %_datadir/icons/hicolor/256x256/apps/qemu.png %_datadir/icons/hicolor/512x512/apps/qemu.png %_datadir/icons/hicolor/scalable/apps/qemu.svg -%_datadir/%name/forsplits/17 -%_datadir/%name/forsplits/18 -%_datadir/%name/forsplits/19 -%_datadir/%name/forsplits/pkg-split.txt %_datadir/%name/keymaps %_datadir/%name/qemu-ifup %_datadir/%name/qemu-nsis.bmp @@ -740,7 +735,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/05 Requires: qemu-ui-spice-core %{qemu_module_conflicts} @@ -749,8 +743,6 @@ %files audio-spice %defattr(-, root, root) -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/05 %dir %_libdir/%name %_libdir/%name/audio-spice.so @@ -871,7 +863,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/00 %{qemu_module_conflicts} %description chardev-baum @@ -880,8 +871,6 @@ %files chardev-baum %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/00 %dir %_libdir/%name %_libdir/%name/chardev-baum.so @@ -890,7 +879,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/08 Requires: qemu-ui-spice-core %{qemu_module_conflicts} @@ -900,8 +888,6 @@ %files chardev-spice %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/08 %dir %_libdir/%name %_libdir/%name/chardev-spice.so @@ -910,7 +896,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/01 Requires: qemu-ui-spice-core %{qemu_module_conflicts} @@ -920,8 +905,6 @@ %files hw-display-qxl %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/01 %dir %_libdir/%name %_libdir/%name/hw-display-qxl.so @@ -930,7 +913,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/04 %{qemu_module_conflicts} %description hw-display-virtio-gpu @@ -939,8 +921,6 @@ %files hw-display-virtio-gpu %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/04 %_libdir/%name/hw-display-virtio-gpu.so %_libdir/%name/hw-display-virtio-gpu-gl.so @@ -950,7 +930,6 @@ Version: %{qemuver} Release: 0 Requires: qemu-hw-display-virtio-gpu -Provides: %name:%_datadir/%name/forsplits/11 %{qemu_module_conflicts} %description hw-display-virtio-gpu-pci @@ -959,8 +938,6 @@ %files hw-display-virtio-gpu-pci %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/11 %dir %_libdir/%name %_libdir/%name/hw-display-virtio-gpu-pci.so %_libdir/%name/hw-display-virtio-gpu-pci-gl.so @@ -970,7 +947,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/12 %{qemu_module_conflicts} %description hw-display-virtio-vga @@ -979,8 +955,6 @@ %files hw-display-virtio-vga %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/12 %dir %_libdir/%name %_libdir/%name/hw-display-virtio-vga.so %_libdir/%name/hw-display-virtio-vga-gl.so @@ -991,7 +965,6 @@ Version: %{qemuver} Release: 0 Requires: qemu-hw-display-virtio-gpu -Provides: %name:%_datadir/%name/forsplits/13 %{qemu_module_conflicts} %description hw-s390x-virtio-gpu-ccw @@ -1001,8 +974,6 @@ %files hw-s390x-virtio-gpu-ccw %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/13 %dir %_libdir/%name %_libdir/%name/hw-s390x-virtio-gpu-ccw.so @@ -1011,7 +982,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/02 %{qemu_module_conflicts} %description hw-usb-redirect @@ -1020,8 +990,6 @@ %files hw-usb-redirect %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/02 %dir %_libdir/%name %_libdir/%name/hw-usb-redirect.so @@ -1030,7 +998,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/03 %{qemu_module_conflicts} %description hw-usb-smartcard @@ -1039,8 +1006,6 @@ %files hw-usb-smartcard %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/03 %dir %_libdir/%name %_libdir/%name/hw-usb-smartcard.so @@ -1049,7 +1014,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/14 %{qemu_module_conflicts} %description hw-usb-host @@ -1058,8 +1022,6 @@ %files hw-usb-host %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/14 %dir %_libdir/%name %_libdir/%name/hw-usb-host.so @@ -1114,7 +1076,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/10 %{qemu_module_conflicts} %description ui-opengl @@ -1123,8 +1084,6 @@ %files ui-opengl %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/10 %dir %_libdir/%name %_libdir/%name/ui-egl-headless.so %_libdir/%name/ui-opengl.so @@ -1151,7 +1110,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/09 Requires: qemu-ui-opengl # This next Requires is only since virt-manager expects audio support Requires: qemu-audio-spice @@ -1163,8 +1121,6 @@ %files ui-spice-core %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/09 %dir %_libdir/%name %_libdir/%name/ui-spice-core.so @@ -1235,7 +1191,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/07 %description ivshmem-tools This package contains a sample shared memory client and server which utilize @@ -1246,8 +1201,6 @@ %files ivshmem-tools %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/07 %_bindir/ivshmem-client %_bindir/ivshmem-server @@ -1331,7 +1284,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/15 %{qemu_module_conflicts} %description accel-tcg-x86 @@ -1343,8 +1295,6 @@ %files accel-tcg-x86 %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/15 %dir %_libdir/%name %_libdir/%name/accel-tcg-i386.so %_libdir/%name/accel-tcg-x86_64.so @@ -1354,7 +1304,6 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 -Provides: %name:%_datadir/%name/forsplits/16 %{qemu_module_conflicts} %description accel-qtest @@ -1366,8 +1315,6 @@ %files accel-qtest %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/16 %dir %_libdir/%name %_libdir/%name/accel-qtest-aarch64.so %_libdir/%name/accel-qtest-alpha.so @@ -1476,7 +1423,6 @@ BuildArch: noarch Requires(post): update-alternatives Requires(postun):update-alternatives -Provides: %name:%_datadir/%name/forsplits/06 %description skiboot Provides OPAL (OpenPower Abstraction Layer) firmware, aka skiboot, as @@ -1485,8 +1431,6 @@ %files skiboot %defattr(-, root, root) %dir %_datadir/%name -%dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/06 %_datadir/%name/skiboot.lid %_datadir/%name/skiboot.lid.qemu %ghost %_sysconfdir/alternatives/skiboot.lid @@ -2127,40 +2071,6 @@ unlink %{buildroot}%_datadir/qemu/trace-events-all install -d -m 755 %{buildroot}%_sbindir install -m 755 scripts/qemu-binfmt-conf.sh %{buildroot}%_sbindir -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-aarch64-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-aarch64_be-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-alpha-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-arm-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-armeb-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-cris-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-hexagon-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-hppa-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-i386-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-m68k-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-microblaze-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-microblazeel-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-mips-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-mips64-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-mips64el-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-mipsel-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-mipsn32-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-mipsn32el-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-nios2-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-or1k-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-ppc-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-ppc64-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-ppc64le-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-riscv32-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-riscv64-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-s390x-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-sh4-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-sh4eb-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-sparc-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-sparc32plus-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-sparc64-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-x86_64-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-xtensa-binfmt -ln -s qemu-binfmt %{buildroot}%_bindir/qemu-xtensaeb-binfmt # End of additional installation steps for qemu-linux-user %else @@ -2229,12 +2139,6 @@ # this was never meant for customer consumption - delete even though installed unlink %{buildroot}%_bindir/elf2dmp -install -D -m 0644 %{SOURCE201} %{buildroot}%_datadir/%name/forsplits/pkg-split.txt -for X in 00 01 02 03 04 05 07 08 09 10 11 12 13 14 15 16 17 18 19 -do - ln -s pkg-split.txt %{buildroot}%_datadir/%name/forsplits/$X -done - # For PPC and x86 firmwares, there are a few extra install steps necessary. # In general, if we know that we have not built a firmware, remove it from the # install base, as the one that we have there is the upstream binary, that got @@ -2251,7 +2155,6 @@ # create a dummy target for /etc/alternatives/skiboot.lid mkdir -p %{buildroot}%{_sysconfdir}/alternatives ln -s -f %{_sysconfdir}/alternatives/skiboot.lid %{buildroot}%{_datadir}/%name/skiboot.lid -ln -s pkg-split.txt %{buildroot}%_datadir/%name/forsplits/06 %else for f in %{ppc_extra_firmware} ; do unlink %{buildroot}%_datadir/%name/$f @@ -2292,7 +2195,12 @@ # do that in the patch itself. Instead, we keep a copy of the binary in the # package sources, and put it in place now, before the tests themselves. # If that patch is removed, the following line needs to go as well. -cp %{SOURCE202} %{srcdir}/tests/data/acpi/microvm/ +cp %{SOURCE201} %{srcdir}/tests/data/acpi/microvm/ + +%if 0%{?qemu_user_space_build} +# Seccomp is not supported by linux-user emulation +echo 'int main (void) { return 0; }' > %{srcdir}/tests/unit/test-seccomp.c +%endif # Compile the QOM test binary first, so that ... %make_build tests/qtest/qom-test @@ -2311,7 +2219,9 @@ make -O V=1 VERBOSE=1 -j1 check-block # Run qtests in parallel. If it becomes unreliable, we can try something # like this: make -O V=1 VERBOSE=1 -j1 check-qtest +%if !0%{?qemu_user_space_build} %make_build check-qtest +%endif # Last step will be to run a full check-report, but we will # enable this at a later point #make -O V=1 VERBOSE=1 -j1 check-report.junit.xml ++++++ update_git.sh ++++++ --- /var/tmp/diff_new_pack.ASr031/_old 2022-10-10 18:43:44.062761702 +0200 +++ /var/tmp/diff_new_pack.ASr031/_new 2022-10-10 18:43:44.066761710 +0200 @@ -1069,6 +1069,19 @@ echo "To modify package patches, use the frombundle branch as the basis for updating" echo "the $GIT_BRANCH branch with the new patch queue, e.g., like this:" echo " git checkout -f --recurse-submodules -B $GIT_BRANCH frombundle" + echo "in the following repositories:" + for R in $(grep "Patches applied" $PKG.spec | awk '{print $(NF)}'|sed 's/:$//'); do + for (( i=0; i <$REPO_COUNT; i++ )); do + if [ "${R}" = "project" ]; then + echo " * ${LOCAL_REPO_MAP[0]}" + continue 2 + fi + if [ "${R}" = "${PATCH_PATH_MAP[$i]}" ]; then + echo " * ${LOCAL_REPO_MAP[$i]}" + continue 2 + fi + done + done echo "Then make your changes and, when done, export them back to the package with:" echo " bash ./update_git.sh git2pkg" ;;