diff --git a/audio-fix-wavcapture-segfault.patch b/audio-fix-wavcapture-segfault.patch new file mode 100644 index 0000000..1de034f --- /dev/null +++ b/audio-fix-wavcapture-segfault.patch @@ -0,0 +1,49 @@ +From: Bruce Rogers +Date: Thu, 21 May 2020 11:29:31 -0600 +Subject: audio: fix wavcapture segfault +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Git-commit: cbaf25d1f59ee13fc7542a06ea70784f2e000c04 +References: boo#1171712 + +Commit 571a8c522e caused the HMP wavcapture command to segfault when +processing audio data in audio_pcm_sw_write(), where a NULL +sw->hw->pcm_ops is dereferenced. This fix checks that the pointer is +valid before dereferincing it. A similar fix is also made in the +parallel function audio_pcm_sw_read(). + +Fixes: 571a8c522e (audio: split ctl_* functions into enable_* and +volume_*) +Signed-off-by: Bruce Rogers +Reviewed-by: Philippe Mathieu-Daudé +Message-id: 20200521172931.121903-1-brogers@suse.com +Signed-off-by: Gerd Hoffmann +Signed-off-by: Bruce Rogers +--- + audio/audio.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/audio/audio.c b/audio/audio.c +index 7a9e6803558b85ff8d4158aa35f9..08a067722b2c33b3f31cb8cf9884 100644 +--- a/audio/audio.c ++++ b/audio/audio.c +@@ -649,7 +649,7 @@ static size_t audio_pcm_sw_read(SWVoiceIn *sw, void *buf, size_t size) + total += isamp; + } + +- if (!hw->pcm_ops->volume_in) { ++ if (hw->pcm_ops && !hw->pcm_ops->volume_in) { + mixeng_volume (sw->buf, ret, &sw->vol); + } + +@@ -736,7 +736,7 @@ static size_t audio_pcm_sw_write(SWVoiceOut *sw, void *buf, size_t size) + if (swlim) { + sw->conv (sw->buf, buf, swlim); + +- if (!sw->hw->pcm_ops->volume_out) { ++ if (sw->hw->pcm_ops && !sw->hw->pcm_ops->volume_out) { + mixeng_volume (sw->buf, swlim, &sw->vol); + } + } diff --git a/build-Work-around-gcc10-bug-by-not-using.patch b/build-Work-around-gcc10-bug-by-not-using.patch new file mode 100644 index 0000000..a4edbfb --- /dev/null +++ b/build-Work-around-gcc10-bug-by-not-using.patch @@ -0,0 +1,78 @@ +From: Bruce Rogers +Date: Mon, 1 Jun 2020 14:48:23 -0600 +Subject: build: Work around gcc10 bug by not using char type in triggering + code + +References: boo#1172411 + +It appears we are bumping into a bug in the gcc10 compiler where it gets +it wrong in deciding that we're beyond the end of an array, in this case +because of some detection wrt the char type. Change to non-char type to +work around this issue. As near as I can tell, this isn't introducing +any behavioral changes or another bug. (see for eg: +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92955 ) + +Here is the error reported: +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c: In function 'reset_tlb_mmu_ways56.constprop.isra': +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:377:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 377 | entry[6][ei].asid = 1; +[ 2046s] | ~~~~~~~~~~~~~~~~~~^~~ +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:378:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 378 | entry[6][ei].attr = 3; +[ 2046s] | ~~~~~~~~~~~~~~~~~~^~~ +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:377:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 377 | entry[6][ei].asid = 1; +[ 2046s] | ~~~~~~~~~~~~~~~~~~^~~ +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:378:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 378 | entry[6][ei].attr = 3; +[ 2046s] | ~~~~~~~~~~~~~~~~~~^~~ +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:377:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 377 | entry[6][ei].asid = 1; +[ 2046s] | ~~~~~~~~~~~~~~~~~~^~~ +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:378:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 378 | entry[6][ei].attr = 3; +[ 2046s] | ~~~~~~~~~~~~~~~~~~^~~ +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:377:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 377 | entry[6][ei].asid = 1; +[ 2046s] | ~~~~~~~~~~~~~~~~~~^~~ +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:378:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 378 | entry[6][ei].attr = 3; +[ 2046s] | ~~~~~~~~~~~~~~~~~~^~~ +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:377:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 377 | entry[6][ei].asid = 1; +[ 2046s] | ~~~~~~~~~~~~~~~~~~^~~ +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:378:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 378 | entry[6][ei].attr = 3; +[ 2046s] | ~~~~~~~~~~~~~~~~~~^~~ +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:377:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 377 | entry[6][ei].asid = 1; +[ 2046s] | ~~~~~~~~~~~~~~~~~~^~~ +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:378:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 378 | entry[6][ei].attr = 3; +[ 2046s] | ~~~~~~~~~~~~~~~~~~^~~ +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:377:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 377 | entry[6][ei].asid = 1; +[ 2046s] | ~~~~~~~~~~~~~~~~~~^~~ +[ 2046s] /home/abuild/rpmbuild/BUILD/qemu-5.0.50/target/xtensa/mmu_helper.c:378:31: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] +[ 2046s] 378 | entry[6][ei].attr = 3; + +Signed-off-by: Bruce Rogers +--- + target/xtensa/cpu.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/target/xtensa/cpu.h b/target/xtensa/cpu.h +index 7a46dccbe11b05e9565192b9e242..fc039349623057083541c160270f 100644 +--- a/target/xtensa/cpu.h ++++ b/target/xtensa/cpu.h +@@ -309,8 +309,8 @@ struct CPUXtensaState; + typedef struct xtensa_tlb_entry { + uint32_t vaddr; + uint32_t paddr; +- uint8_t asid; +- uint8_t attr; ++ uint32_t asid; ++ uint32_t attr; + bool variable; + } xtensa_tlb_entry; + diff --git a/bundles.tar.xz b/bundles.tar.xz index 91e0c72..3a79d8e 100644 --- a/bundles.tar.xz +++ b/bundles.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5bc454d2f284d04edfb3f0e3b8edf72a939e2935fcc81401b483b755a7e239be -size 64236 +oid sha256:6a979bc525329c87dc152af9613a1d7bc00c0bb3a9f0deb477a4e70d2a833d94 +size 53172 diff --git a/config.sh b/config.sh index eaa12e4..4409400 100644 --- a/config.sh +++ b/config.sh @@ -19,9 +19,6 @@ NEXT_RELEASE_IS_MAJOR=0 # We can do so by specifing the value here: #SEABIOS_VERSION=1.13.0 -# The shared git repo, on which $GIT_LOCAL_TREE is based -GIT_TREE=git://github.com/openSUSE/qemu.git - # Temporary directories used by this script GIT_DIR=/dev/shm/qemu-factory-git-dir CMP_DIR=/dev/shm/qemu-factory-cmp-dir diff --git a/qemu.changes b/qemu.changes index daa3ace..02cd457 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Tue Jun 2 17:22:57 UTC 2020 - Bruce Rogers + +- Work around gcc 10 bug (boo#1172411) + build-Work-around-gcc10-bug-by-not-using.patch + +------------------------------------------------------------------- +Mon Jun 1 17:48:14 UTC 2020 - Bruce Rogers + +- Now that gcc10 compatibility is figured out, remove NO_WERROR=1 + again from ipxe make. + +------------------------------------------------------------------- +Tue May 26 14:35:34 UTC 2020 - Bruce Rogers + +- Fix segfault when doing HMP wavcapture (boo#1171712) + audio-fix-wavcapture-segfault.patch + ------------------------------------------------------------------- Tue May 5 21:11:11 UTC 2020 - Bruce Rogers diff --git a/qemu.spec b/qemu.spec index e1352df..cdd866a 100644 --- a/qemu.spec +++ b/qemu.spec @@ -127,67 +127,69 @@ Source303: README.PACKAGING # This patch queue is auto-generated - see README.PACKAGING for process # Patches applied in base project: -Patch00000: XXX-dont-dump-core-on-sigabort.patch -Patch00001: qemu-binfmt-conf-Modify-default-path.patch -Patch00002: qemu-cvs-gettimeofday.patch -Patch00003: qemu-cvs-ioctl_debug.patch -Patch00004: qemu-cvs-ioctl_nodirection.patch -Patch00005: linux-user-add-binfmt-wrapper-for-argv-0.patch -Patch00006: PPC-KVM-Disable-mmu-notifier-check.patch -Patch00007: linux-user-binfmt-support-host-binaries.patch -Patch00008: linux-user-Fake-proc-cpuinfo.patch -Patch00009: linux-user-use-target_ulong.patch -Patch00010: Make-char-muxer-more-robust-wrt-small-FI.patch -Patch00011: linux-user-lseek-explicitly-cast-non-set.patch -Patch00012: AIO-Reduce-number-of-threads-for-32bit-h.patch -Patch00013: xen_disk-Add-suse-specific-flush-disable.patch -Patch00014: qemu-bridge-helper-reduce-security-profi.patch -Patch00015: qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch -Patch00016: linux-user-properly-test-for-infinite-ti.patch -Patch00017: roms-Makefile-pass-a-packaging-timestamp.patch -Patch00018: Raise-soft-address-space-limit-to-hard-l.patch -Patch00019: increase-x86_64-physical-bits-to-42.patch -Patch00020: i8254-Fix-migration-from-SLE11-SP2.patch -Patch00021: acpi_piix4-Fix-migration-from-SLE11-SP2.patch -Patch00022: Switch-order-of-libraries-for-mpath-supp.patch -Patch00023: Make-installed-scripts-explicitly-python.patch -Patch00024: hw-smbios-handle-both-file-formats-regar.patch -Patch00025: xen-add-block-resize-support-for-xen-dis.patch -Patch00026: tests-qemu-iotests-Triple-timeout-of-i-o.patch -Patch00027: tests-Fix-block-tests-to-be-compatible-w.patch -Patch00028: xen-ignore-live-parameter-from-xen-save-.patch -Patch00029: Conditionalize-ui-bitmap-installation-be.patch -Patch00030: tests-change-error-message-in-test-162.patch -Patch00031: hw-usb-hcd-xhci-Fix-GCC-9-build-warning.patch -Patch00032: hw-usb-dev-mtp-Fix-GCC-9-build-warning.patch -Patch00033: hw-intc-exynos4210_gic-provide-more-room.patch -Patch00034: configure-only-populate-roms-if-softmmu.patch -Patch00035: pc-bios-s390-ccw-net-avoid-warning-about.patch -Patch00036: roms-change-cross-compiler-naming-to-be-.patch -Patch00037: tests-Disable-some-block-tests-for-now.patch -Patch00038: test-add-mapping-from-arch-of-i686-to-qe.patch -Patch00039: roms-Makefile-enable-cross-compile-for-b.patch -Patch00040: s390x-Move-diagnose-308-subcodes-and-rcs.patch -Patch00041: Sync-pv.patch -Patch00042: s390x-protvirt-Support-unpack-facility.patch -Patch00043: s390x-protvirt-Add-migration-blocker.patch -Patch00044: s390x-protvirt-Inhibit-balloon-when-swit.patch -Patch00045: s390x-protvirt-KVM-intercept-changes.patch -Patch00046: s390x-Add-SIDA-memory-ops.patch -Patch00047: s390x-protvirt-Move-STSI-data-over-SIDAD.patch -Patch00048: s390x-protvirt-SCLP-interpretation.patch -Patch00049: s390x-protvirt-Set-guest-IPL-PSW.patch -Patch00050: s390x-protvirt-Move-diag-308-data-over-S.patch -Patch00051: s390x-protvirt-Disable-address-checks-fo.patch -Patch00052: s390x-protvirt-Move-IO-control-structure.patch -Patch00053: s390x-protvirt-Handle-SIGP-store-status-.patch -Patch00054: s390x-Add-unpack-facility-feature-to-GA1.patch -Patch00055: s390x-s390-virtio-ccw-Fix-build-on-syste.patch -Patch00056: configure-remove-pkgversion-from-CONFIG_.patch -Patch00057: gcc10-maybe-uninitialized.patch -Patch00058: docs-add-SUSE-support-statements-to-html.patch -Patch00059: virtiofsd-add-rlimit-nofile-NUM-option.patch -Patch00060: virtiofsd-stay-below-fs.file-max-sysctl-.patch +Patch00000: virtiofsd-add-rlimit-nofile-NUM-option.patch +Patch00001: virtiofsd-stay-below-fs.file-max-sysctl-.patch +Patch00002: audio-fix-wavcapture-segfault.patch +Patch00003: XXX-dont-dump-core-on-sigabort.patch +Patch00004: qemu-binfmt-conf-Modify-default-path.patch +Patch00005: qemu-cvs-gettimeofday.patch +Patch00006: qemu-cvs-ioctl_debug.patch +Patch00007: qemu-cvs-ioctl_nodirection.patch +Patch00008: linux-user-add-binfmt-wrapper-for-argv-0.patch +Patch00009: PPC-KVM-Disable-mmu-notifier-check.patch +Patch00010: linux-user-binfmt-support-host-binaries.patch +Patch00011: linux-user-Fake-proc-cpuinfo.patch +Patch00012: linux-user-use-target_ulong.patch +Patch00013: Make-char-muxer-more-robust-wrt-small-FI.patch +Patch00014: linux-user-lseek-explicitly-cast-non-set.patch +Patch00015: AIO-Reduce-number-of-threads-for-32bit-h.patch +Patch00016: xen_disk-Add-suse-specific-flush-disable.patch +Patch00017: qemu-bridge-helper-reduce-security-profi.patch +Patch00018: qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch +Patch00019: linux-user-properly-test-for-infinite-ti.patch +Patch00020: roms-Makefile-pass-a-packaging-timestamp.patch +Patch00021: Raise-soft-address-space-limit-to-hard-l.patch +Patch00022: increase-x86_64-physical-bits-to-42.patch +Patch00023: i8254-Fix-migration-from-SLE11-SP2.patch +Patch00024: acpi_piix4-Fix-migration-from-SLE11-SP2.patch +Patch00025: Switch-order-of-libraries-for-mpath-supp.patch +Patch00026: Make-installed-scripts-explicitly-python.patch +Patch00027: hw-smbios-handle-both-file-formats-regar.patch +Patch00028: xen-add-block-resize-support-for-xen-dis.patch +Patch00029: tests-qemu-iotests-Triple-timeout-of-i-o.patch +Patch00030: tests-Fix-block-tests-to-be-compatible-w.patch +Patch00031: xen-ignore-live-parameter-from-xen-save-.patch +Patch00032: Conditionalize-ui-bitmap-installation-be.patch +Patch00033: tests-change-error-message-in-test-162.patch +Patch00034: hw-usb-hcd-xhci-Fix-GCC-9-build-warning.patch +Patch00035: hw-usb-dev-mtp-Fix-GCC-9-build-warning.patch +Patch00036: hw-intc-exynos4210_gic-provide-more-room.patch +Patch00037: configure-only-populate-roms-if-softmmu.patch +Patch00038: pc-bios-s390-ccw-net-avoid-warning-about.patch +Patch00039: roms-change-cross-compiler-naming-to-be-.patch +Patch00040: tests-Disable-some-block-tests-for-now.patch +Patch00041: test-add-mapping-from-arch-of-i686-to-qe.patch +Patch00042: roms-Makefile-enable-cross-compile-for-b.patch +Patch00043: s390x-Move-diagnose-308-subcodes-and-rcs.patch +Patch00044: Sync-pv.patch +Patch00045: s390x-protvirt-Support-unpack-facility.patch +Patch00046: s390x-protvirt-Add-migration-blocker.patch +Patch00047: s390x-protvirt-Inhibit-balloon-when-swit.patch +Patch00048: s390x-protvirt-KVM-intercept-changes.patch +Patch00049: s390x-Add-SIDA-memory-ops.patch +Patch00050: s390x-protvirt-Move-STSI-data-over-SIDAD.patch +Patch00051: s390x-protvirt-SCLP-interpretation.patch +Patch00052: s390x-protvirt-Set-guest-IPL-PSW.patch +Patch00053: s390x-protvirt-Move-diag-308-data-over-S.patch +Patch00054: s390x-protvirt-Disable-address-checks-fo.patch +Patch00055: s390x-protvirt-Move-IO-control-structure.patch +Patch00056: s390x-protvirt-Handle-SIGP-store-status-.patch +Patch00057: s390x-Add-unpack-facility-feature-to-GA1.patch +Patch00058: s390x-s390-virtio-ccw-Fix-build-on-syste.patch +Patch00059: configure-remove-pkgversion-from-CONFIG_.patch +Patch00060: gcc10-maybe-uninitialized.patch +Patch00061: docs-add-SUSE-support-statements-to-html.patch +Patch00062: build-Work-around-gcc10-bug-by-not-using.patch # Patches applied in roms/seabios/: Patch01000: seabios-use-python2-explicitly-as-needed.patch Patch01001: seabios-switch-to-python3-as-needed.patch @@ -954,11 +956,13 @@ This package provides a service file for starting and stopping KSM. %patch00055 -p1 %patch00056 -p1 %patch00057 -p1 -%if %{legacy_qemu_kvm} && 0%{?is_opensuse} == 0 %patch00058 -p1 -%endif %patch00059 -p1 %patch00060 -p1 +%if %{legacy_qemu_kvm} && 0%{?is_opensuse} == 0 +%patch00061 -p1 +%endif +%patch00062 -p1 %patch01000 -p1 %patch01001 -p1 %patch01002 -p1 @@ -1368,11 +1372,11 @@ make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms seavgabios-ati \ HOSTCC=cc \ %endif -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms pxerom NO_WERROR=1 +make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms pxerom %ifnarch %ix86 make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms efirom \ - EDK2_BASETOOLS_OPTFLAGS='-fPIE' NO_WERROR=1 + EDK2_BASETOOLS_OPTFLAGS='-fPIE' %endif make -C %{_builddir}/%buildsubdir/roms sgabios \ @@ -1383,7 +1387,7 @@ pushd %{_builddir}/%buildsubdir patch -p1 < %_sourcedir/stub-out-the-SAN-req-s-in-int13.patch popd make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms \ - pxerom_variants=virtio pxerom_targets=1af41000 pxerom NO_WERROR=1 + pxerom_variants=virtio pxerom_targets=1af41000 pxerom %endif # enforce pxe rom sizes for migration compatability from SLE 11 SP3 forward diff --git a/qemu.spec.in b/qemu.spec.in index e184f4e..95d989b 100644 --- a/qemu.spec.in +++ b/qemu.spec.in @@ -1201,11 +1201,11 @@ make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms seavgabios-ati \ HOSTCC=cc \ %endif -make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms pxerom NO_WERROR=1 +make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms pxerom %ifnarch %ix86 make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms efirom \ - EDK2_BASETOOLS_OPTFLAGS='-fPIE' NO_WERROR=1 + EDK2_BASETOOLS_OPTFLAGS='-fPIE' %endif make -C %{_builddir}/%buildsubdir/roms sgabios \ @@ -1216,7 +1216,7 @@ pushd %{_builddir}/%buildsubdir patch -p1 < %_sourcedir/stub-out-the-SAN-req-s-in-int13.patch popd make %{?_smp_mflags} -C %{_builddir}/%buildsubdir/roms \ - pxerom_variants=virtio pxerom_targets=1af41000 pxerom NO_WERROR=1 + pxerom_variants=virtio pxerom_targets=1af41000 pxerom %endif # enforce pxe rom sizes for migration compatability from SLE 11 SP3 forward diff --git a/update_git.sh b/update_git.sh index d1f19cf..773c13c 100644 --- a/update_git.sh +++ b/update_git.sh @@ -548,10 +548,6 @@ rm -rf $BUNDLE_DIR if [ "$WRITE_LOG" = "1" ]; then # Factory requires all deleted and added patches to be mentioned - if [ -e qemu.changes.deleted ] || [ -e qemu.changes.added ]; then - echo "Patch queue updated from ${GIT_TREE} ${GIT_BRANCH}" > \ - $package.changes.proposed - fi if [ -e qemu.changes.deleted ]; then echo "* Patches dropped:" >> $package.changes.proposed cat qemu.changes.deleted >> $package.changes.proposed