From 5b17093cb1f7bb74cdb9f4bba7630ffb4b7aefd696efe93c63218ca3c2e70d11 Mon Sep 17 00:00:00 2001 From: Bruce Rogers Date: Tue, 5 Jan 2021 17:40:44 +0000 Subject: [PATCH] Accepting request 860516 from home:bfrogers:branches:Virtualization - Fix crash when spice used and the qemu-audio-spice package isn't installed (boo#1180210) audio-add-sanity-check.patch - Add some stable patches from upstream block-Fix-deadlock-in-bdrv_co_yield_to_d.patch block-Fix-locking-in-qmp_block_resize.patch block-nfs-fix-int-overflow-in-nfs_client.patch block-Simplify-qmp_block_resize-error-pa.patch build-no-pie-is-no-functional-linker-fla.patch OBS-URL: https://build.opensuse.org/request/show/860516 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=599 --- audio-add-sanity-check.patch | 35 ++++++ ...k-Fix-deadlock-in-bdrv_co_yield_to_d.patch | 119 ++++++++++++++++++ block-Fix-locking-in-qmp_block_resize.patch | 42 +++++++ ...k-Simplify-qmp_block_resize-error-pa.patch | 62 +++++++++ ...k-nfs-fix-int-overflow-in-nfs_client.patch | 33 +++++ ...d-no-pie-is-no-functional-linker-fla.patch | 74 +++++++++++ bundles.tar.xz | 4 +- configure-only-populate-roms-if-softmmu.patch | 4 +- ...igure-remove-pkgversion-from-CONFIG_.patch | 4 +- qemu.changes | 13 ++ qemu.spec | 108 +++++++++------- qemu.spec.in | 2 +- 12 files changed, 445 insertions(+), 55 deletions(-) create mode 100644 audio-add-sanity-check.patch create mode 100644 block-Fix-deadlock-in-bdrv_co_yield_to_d.patch create mode 100644 block-Fix-locking-in-qmp_block_resize.patch create mode 100644 block-Simplify-qmp_block_resize-error-pa.patch create mode 100644 block-nfs-fix-int-overflow-in-nfs_client.patch create mode 100644 build-no-pie-is-no-functional-linker-fla.patch diff --git a/audio-add-sanity-check.patch b/audio-add-sanity-check.patch new file mode 100644 index 00000000..ea029ec8 --- /dev/null +++ b/audio-add-sanity-check.patch @@ -0,0 +1,35 @@ +From: Gerd Hoffmann +Date: Tue, 15 Dec 2020 09:11:51 +0100 +Subject: audio: add sanity check + +Git-commit: 06c8c375389a54d8e4457d967f4f0896caecefb2 +References: boo#1180210 + +Check whenever we actually found the spiceaudio driver +before flipping the can_be_default field. + +Fixes: f0c4555edfdd ("audio: remove qemu_spice_audio_init()") +Buglink: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=977301 +Reported-by: dann frazier +Signed-off-by: Gerd Hoffmann +Message-Id: <20201215081151.20095-1-kraxel@redhat.com> +Signed-off-by: Bruce Rogers +--- + audio/audio.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/audio/audio.c b/audio/audio.c +index 46578e4a583b9ad5c5fd4d40c711..973804620d7b057b70833694947c 100644 +--- a/audio/audio.c ++++ b/audio/audio.c +@@ -1709,7 +1709,9 @@ static AudioState *audio_init(Audiodev *dev, const char *name) + * backend and this can go away. + */ + driver = audio_driver_lookup("spice"); +- driver->can_be_default = 1; ++ if (driver) { ++ driver->can_be_default = 1; ++ } + } + + if (dev) { diff --git a/block-Fix-deadlock-in-bdrv_co_yield_to_d.patch b/block-Fix-deadlock-in-bdrv_co_yield_to_d.patch new file mode 100644 index 00000000..291676f5 --- /dev/null +++ b/block-Fix-deadlock-in-bdrv_co_yield_to_d.patch @@ -0,0 +1,119 @@ +From: Kevin Wolf +Date: Thu, 3 Dec 2020 18:23:11 +0100 +Subject: block: Fix deadlock in bdrv_co_yield_to_drain() + +Git-commit 960d5fb3e8ee09bc5f1a5c84f66dce42a6cef920 + +If bdrv_co_yield_to_drain() is called for draining a block node that +runs in a different AioContext, it keeps that AioContext locked while it +yields and schedules a BH in the AioContext to do the actual drain. + +As long as executing the BH is the very next thing that the event loop +of the node's AioContext does, this actually happens to work, but when +it tries to execute something else that wants to take the AioContext +lock, it will deadlock. (In the bug report, this other thing is a +virtio-scsi device running virtio_scsi_data_plane_handle_cmd().) + +Instead, always drop the AioContext lock across the yield and reacquire +it only when the coroutine is reentered. The BH needs to unconditionally +take the lock for itself now. + +This fixes the 'block_resize' QMP command on a block node that runs in +an iothread. + +Cc: qemu-stable@nongnu.org +Fixes: eb94b81a94bce112e6b206df846c1551aaf6cab6 +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1903511 +Signed-off-by: Kevin Wolf +Message-Id: <20201203172311.68232-4-kwolf@redhat.com> +Reviewed-by: Vladimir Sementsov-Ogievskiy +Signed-off-by: Kevin Wolf +Signed-off-by: Bruce Rogers +--- + block/io.c | 41 ++++++++++++++++++++++++----------------- + 1 file changed, 24 insertions(+), 17 deletions(-) + +diff --git a/block/io.c b/block/io.c +index ec5e152bb70f62371b608e95d514..a9f56a9ab1c56a3ca83833bfb0fa 100644 +--- a/block/io.c ++++ b/block/io.c +@@ -306,17 +306,7 @@ static void bdrv_co_drain_bh_cb(void *opaque) + + if (bs) { + AioContext *ctx = bdrv_get_aio_context(bs); +- AioContext *co_ctx = qemu_coroutine_get_aio_context(co); +- +- /* +- * When the coroutine yielded, the lock for its home context was +- * released, so we need to re-acquire it here. If it explicitly +- * acquired a different context, the lock is still held and we don't +- * want to lock it a second time (or AIO_WAIT_WHILE() would hang). +- */ +- if (ctx == co_ctx) { +- aio_context_acquire(ctx); +- } ++ aio_context_acquire(ctx); + bdrv_dec_in_flight(bs); + if (data->begin) { + assert(!data->drained_end_counter); +@@ -328,9 +318,7 @@ static void bdrv_co_drain_bh_cb(void *opaque) + data->ignore_bds_parents, + data->drained_end_counter); + } +- if (ctx == co_ctx) { +- aio_context_release(ctx); +- } ++ aio_context_release(ctx); + } else { + assert(data->begin); + bdrv_drain_all_begin(); +@@ -348,13 +336,16 @@ static void coroutine_fn bdrv_co_yield_to_drain(BlockDriverState *bs, + int *drained_end_counter) + { + BdrvCoDrainData data; ++ Coroutine *self = qemu_coroutine_self(); ++ AioContext *ctx = bdrv_get_aio_context(bs); ++ AioContext *co_ctx = qemu_coroutine_get_aio_context(self); + + /* Calling bdrv_drain() from a BH ensures the current coroutine yields and + * other coroutines run if they were queued by aio_co_enter(). */ + + assert(qemu_in_coroutine()); + data = (BdrvCoDrainData) { +- .co = qemu_coroutine_self(), ++ .co = self, + .bs = bs, + .done = false, + .begin = begin, +@@ -368,13 +359,29 @@ static void coroutine_fn bdrv_co_yield_to_drain(BlockDriverState *bs, + if (bs) { + bdrv_inc_in_flight(bs); + } +- replay_bh_schedule_oneshot_event(bdrv_get_aio_context(bs), +- bdrv_co_drain_bh_cb, &data); ++ ++ /* ++ * Temporarily drop the lock across yield or we would get deadlocks. ++ * bdrv_co_drain_bh_cb() reaquires the lock as needed. ++ * ++ * When we yield below, the lock for the current context will be ++ * released, so if this is actually the lock that protects bs, don't drop ++ * it a second time. ++ */ ++ if (ctx != co_ctx) { ++ aio_context_release(ctx); ++ } ++ replay_bh_schedule_oneshot_event(ctx, bdrv_co_drain_bh_cb, &data); + + qemu_coroutine_yield(); + /* If we are resumed from some other event (such as an aio completion or a + * timer callback), it is a bug in the caller that should be fixed. */ + assert(data.done); ++ ++ /* Reaquire the AioContext of bs if we dropped it */ ++ if (ctx != co_ctx) { ++ aio_context_acquire(ctx); ++ } + } + + void bdrv_do_drained_begin_quiesce(BlockDriverState *bs, diff --git a/block-Fix-locking-in-qmp_block_resize.patch b/block-Fix-locking-in-qmp_block_resize.patch new file mode 100644 index 00000000..377601cb --- /dev/null +++ b/block-Fix-locking-in-qmp_block_resize.patch @@ -0,0 +1,42 @@ +From: Kevin Wolf +Date: Thu, 3 Dec 2020 18:23:10 +0100 +Subject: block: Fix locking in qmp_block_resize() + +Git-commit 8089eab2bd5fb160b038e64e14cf7ffb3f37091e + +The drain functions assume that we hold the AioContext lock of the +drained block node. Make sure to actually take the lock. + +Cc: qemu-stable@nongnu.org +Fixes: eb94b81a94bce112e6b206df846c1551aaf6cab6 +Signed-off-by: Kevin Wolf +Message-Id: <20201203172311.68232-3-kwolf@redhat.com> +Reviewed-by: Vladimir Sementsov-Ogievskiy +Signed-off-by: Kevin Wolf +Signed-off-by: Bruce Rogers +--- + blockdev.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/blockdev.c b/blockdev.c +index a7f0149d64152651be78f6cd8e61..e4dfa65aa444346c3c09dbc6d1c5 100644 +--- a/blockdev.c ++++ b/blockdev.c +@@ -2481,13 +2481,16 @@ void coroutine_fn qmp_block_resize(bool has_device, const char *device, + return; + } + ++ bdrv_co_lock(bs); + bdrv_drained_begin(bs); ++ bdrv_co_unlock(bs); ++ + old_ctx = bdrv_co_enter(bs); + blk_truncate(blk, size, false, PREALLOC_MODE_OFF, 0, errp); + bdrv_co_leave(bs, old_ctx); +- bdrv_drained_end(bs); + + bdrv_co_lock(bs); ++ bdrv_drained_end(bs); + blk_unref(blk); + bdrv_co_unlock(bs); + } diff --git a/block-Simplify-qmp_block_resize-error-pa.patch b/block-Simplify-qmp_block_resize-error-pa.patch new file mode 100644 index 00000000..ecc96b1c --- /dev/null +++ b/block-Simplify-qmp_block_resize-error-pa.patch @@ -0,0 +1,62 @@ +From: Kevin Wolf +Date: Thu, 3 Dec 2020 18:23:09 +0100 +Subject: block: Simplify qmp_block_resize() error paths + +Git-commit: d9dbf25f9624aac43e4357019bed4422f0b3368d + +The only thing that happens after the 'out:' label is blk_unref(blk). +However, blk = NULL in all of the error cases, so instead of jumping to +'out:', we can just return directly. + +Cc: qemu-stable@nongnu.org +Signed-off-by: Kevin Wolf +Message-Id: <20201203172311.68232-2-kwolf@redhat.com> +Reviewed-by: Vladimir Sementsov-Ogievskiy +Signed-off-by: Kevin Wolf +Signed-off-by: Bruce Rogers +--- + blockdev.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/blockdev.c b/blockdev.c +index fe6fb5dc1d19716fba52e8b900e2..a7f0149d64152651be78f6cd8e61 100644 +--- a/blockdev.c ++++ b/blockdev.c +@@ -2454,7 +2454,7 @@ void coroutine_fn qmp_block_resize(bool has_device, const char *device, + int64_t size, Error **errp) + { + Error *local_err = NULL; +- BlockBackend *blk = NULL; ++ BlockBackend *blk; + BlockDriverState *bs; + AioContext *old_ctx; + +@@ -2468,17 +2468,17 @@ void coroutine_fn qmp_block_resize(bool has_device, const char *device, + + if (size < 0) { + error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "size", "a >0 size"); +- goto out; ++ return; + } + + if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_RESIZE, NULL)) { + error_setg(errp, QERR_DEVICE_IN_USE, device); +- goto out; ++ return; + } + + blk = blk_new_with_bs(bs, BLK_PERM_RESIZE, BLK_PERM_ALL, errp); + if (!blk) { +- goto out; ++ return; + } + + bdrv_drained_begin(bs); +@@ -2487,7 +2487,6 @@ void coroutine_fn qmp_block_resize(bool has_device, const char *device, + bdrv_co_leave(bs, old_ctx); + bdrv_drained_end(bs); + +-out: + bdrv_co_lock(bs); + blk_unref(blk); + bdrv_co_unlock(bs); diff --git a/block-nfs-fix-int-overflow-in-nfs_client.patch b/block-nfs-fix-int-overflow-in-nfs_client.patch new file mode 100644 index 00000000..873277e4 --- /dev/null +++ b/block-nfs-fix-int-overflow-in-nfs_client.patch @@ -0,0 +1,33 @@ +From: Peter Lieven +Date: Wed, 9 Dec 2020 13:17:35 +0100 +Subject: block/nfs: fix int overflow in nfs_client_open_qdict + +Git-commit: 182454dc63c66ff5a29eddd60cc987b6a1b45e7f + +nfs_client_open returns the file size in sectors. This effectively +makes it impossible to open files larger than 1TB. + +Fixes: c22a03454544c2a08f1107c5cc8481a5574533d5 +Cc: qemu-stable@nongnu.org +Signed-off-by: Peter Lieven +Message-Id: <20201209121735.16437-1-pl@kamp.de> +Reviewed-by: Stefano Garzarella +Signed-off-by: Kevin Wolf +Signed-off-by: Bruce Rogers +--- + block/nfs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/block/nfs.c b/block/nfs.c +index 77905f516d203d03012cdf362daf..8c1968bb415d9a9e542988fd5112 100644 +--- a/block/nfs.c ++++ b/block/nfs.c +@@ -592,7 +592,7 @@ static int64_t nfs_client_open_qdict(NFSClient *client, QDict *options, + int flags, int open_flags, Error **errp) + { + BlockdevOptionsNfs *opts; +- int ret; ++ int64_t ret; + + opts = nfs_options_qdict_to_qapi(options, errp); + if (opts == NULL) { diff --git a/build-no-pie-is-no-functional-linker-fla.patch b/build-no-pie-is-no-functional-linker-fla.patch new file mode 100644 index 00000000..0d38dce3 --- /dev/null +++ b/build-no-pie-is-no-functional-linker-fla.patch @@ -0,0 +1,74 @@ +From: Christian Ehrhardt +Date: Mon, 14 Dec 2020 16:09:38 +0100 +Subject: build: -no-pie is no functional linker flag + +Git-commit: bbd2d5a8120771ec59b86a80a1f51884e0a26e53 + +Recent binutils changes dropping unsupported options [1] caused a build +issue in regard to the optionroms. + + ld -m elf_i386 -T /<>/pc-bios/optionrom//flat.lds -no-pie \ + -s -o multiboot.img multiboot.o + ld.bfd: Error: unable to disambiguate: -no-pie (did you mean --no-pie ?) + +This isn't really a regression in ld.bfd, filing the bug upstream +revealed that this never worked as a ld flag [2] - in fact it seems we +were by accident setting --nmagic). + +Since it never had the wanted effect this usage of LDFLAGS_NOPIE, should be +droppable without any effect. This also is the only use-case of LDFLAGS_NOPIE +in .mak, therefore we can also remove it from being added there. + +[1]: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=983d925d +[2]: https://sourceware.org/bugzilla/show_bug.cgi?id=27050#c5 + +Signed-off-by: Christian Ehrhardt +Message-Id: <20201214150938.1297512-1-christian.ehrhardt@canonical.com> +Cc: qemu-stable@nongnu.org +Signed-off-by: Paolo Bonzini +Signed-off-by: Bruce Rogers +--- + configure | 3 --- + pc-bios/optionrom/Makefile | 1 - + 2 files changed, 4 deletions(-) + +diff --git a/configure b/configure +index 18c26e0389741643748c70ac7788..7ce723bbe769dac2af8456079e89 100755 +--- a/configure ++++ b/configure +@@ -2121,7 +2121,6 @@ EOF + # Check we support --no-pie first; we will need this for building ROMs. + if compile_prog "-Werror -fno-pie" "-no-pie"; then + CFLAGS_NOPIE="-fno-pie" +- LDFLAGS_NOPIE="-no-pie" + fi + + if test "$static" = "yes"; then +@@ -2137,7 +2136,6 @@ if test "$static" = "yes"; then + fi + elif test "$pie" = "no"; then + CONFIGURE_CFLAGS="$CFLAGS_NOPIE $CONFIGURE_CFLAGS" +- CONFIGURE_LDFLAGS="$LDFLAGS_NOPIE $CONFIGURE_LDFLAGS" + elif compile_prog "-Werror -fPIE -DPIE" "-pie"; then + CONFIGURE_CFLAGS="-fPIE -DPIE $CONFIGURE_CFLAGS" + CONFIGURE_LDFLAGS="-pie $CONFIGURE_LDFLAGS" +@@ -6756,7 +6754,6 @@ echo "QEMU_CXXFLAGS=$QEMU_CXXFLAGS" >> $config_host_mak + echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak + echo "GLIB_LIBS=$glib_libs" >> $config_host_mak + echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak +-echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak + echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak + echo "EXESUF=$EXESUF" >> $config_host_mak + echo "HOST_DSOSUF=$HOST_DSOSUF" >> $config_host_mak +diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile +index 084fc10f0540b62df06c476bb11c..30771f8d17cb2143eb7bbb004ceb 100644 +--- a/pc-bios/optionrom/Makefile ++++ b/pc-bios/optionrom/Makefile +@@ -41,7 +41,6 @@ override CFLAGS += $(call cc-option, $(Wa)-32) + + LD_I386_EMULATION ?= elf_i386 + override LDFLAGS = -m $(LD_I386_EMULATION) -T $(SRC_DIR)/flat.lds +-override LDFLAGS += $(LDFLAGS_NOPIE) + + all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin + diff --git a/bundles.tar.xz b/bundles.tar.xz index 6fb9b41d..3b1b3921 100644 --- a/bundles.tar.xz +++ b/bundles.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1a1a89b8155d9fe84ce29e1c725fd7523c807b8a30e801a297a89901a1817058 -size 39184 +oid sha256:fa5c218d5168390593138dd6acb80f1ab5bbac2f9ca14e15e46eeb89d6cd8674 +size 35008 diff --git a/configure-only-populate-roms-if-softmmu.patch b/configure-only-populate-roms-if-softmmu.patch index 3d4d3dc3..49fdb989 100644 --- a/configure-only-populate-roms-if-softmmu.patch +++ b/configure-only-populate-roms-if-softmmu.patch @@ -12,10 +12,10 @@ Signed-off-by: Bruce Rogers 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure -index 18c26e0389741643748c70ac7788..b9c4fec9793d2815e52479779d10 100755 +index 7ce723bbe769dac2af8456079e89..a1312935a5683ed740c9b6143c6b 100755 --- a/configure +++ b/configure -@@ -5860,7 +5860,7 @@ if { test "$cpu" = "i386" || test "$cpu" = "x86_64"; } && \ +@@ -5858,7 +5858,7 @@ if { test "$cpu" = "i386" || test "$cpu" = "x86_64"; } && \ fi # Only build s390-ccw bios if we're on s390x and the compiler has -march=z900 diff --git a/configure-remove-pkgversion-from-CONFIG_.patch b/configure-remove-pkgversion-from-CONFIG_.patch index fc52ea5b..2a4092c8 100644 --- a/configure-remove-pkgversion-from-CONFIG_.patch +++ b/configure-remove-pkgversion-from-CONFIG_.patch @@ -18,10 +18,10 @@ Signed-off-by: Bruce Rogers 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure -index b9c4fec9793d2815e52479779d10..379a03b111d9e7a80e5717782953 100755 +index a1312935a5683ed740c9b6143c6b..2ed5366e82a194946a5a2ca12bac 100755 --- a/configure +++ b/configure -@@ -6047,7 +6047,7 @@ echo "TARGET_DIRS=$target_list" >> $config_host_mak +@@ -6045,7 +6045,7 @@ echo "TARGET_DIRS=$target_list" >> $config_host_mak if test "$modules" = "yes"; then # $shacmd can generate a hash started with digit, which the compiler doesn't # like as an symbol. So prefix it with an underscore diff --git a/qemu.changes b/qemu.changes index e33673cb..6a7ce026 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Jan 5 14:56:10 UTC 2021 - Bruce Rogers + +- Fix crash when spice used and the qemu-audio-spice package isn't + installed (boo#1180210) + audio-add-sanity-check.patch +- Add some stable patches from upstream + block-Fix-deadlock-in-bdrv_co_yield_to_d.patch + block-Fix-locking-in-qmp_block_resize.patch + block-nfs-fix-int-overflow-in-nfs_client.patch + block-Simplify-qmp_block_resize-error-pa.patch + build-no-pie-is-no-functional-linker-fla.patch + ------------------------------------------------------------------- Tue Dec 8 18:10:54 UTC 2020 - Bruce Rogers diff --git a/qemu.spec b/qemu.spec index e544f246..162f58cd 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,7 +1,7 @@ # # spec file for package qemu # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -131,49 +131,55 @@ 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: roms-Makefile-pass-a-packaging-timestamp.patch -Patch00017: Raise-soft-address-space-limit-to-hard-l.patch -Patch00018: increase-x86_64-physical-bits-to-42.patch -Patch00019: i8254-Fix-migration-from-SLE11-SP2.patch -Patch00020: acpi_piix4-Fix-migration-from-SLE11-SP2.patch -Patch00021: Make-installed-scripts-explicitly-python.patch -Patch00022: hw-smbios-handle-both-file-formats-regar.patch -Patch00023: xen-add-block-resize-support-for-xen-dis.patch -Patch00024: tests-qemu-iotests-Triple-timeout-of-i-o.patch -Patch00025: tests-Fix-block-tests-to-be-compatible-w.patch -Patch00026: xen-ignore-live-parameter-from-xen-save-.patch -Patch00027: tests-change-error-message-in-test-162.patch -Patch00028: hw-intc-exynos4210_gic-provide-more-room.patch -Patch00029: configure-only-populate-roms-if-softmmu.patch -Patch00030: pc-bios-s390-ccw-net-avoid-warning-about.patch -Patch00031: roms-change-cross-compiler-naming-to-be-.patch -Patch00032: test-add-mapping-from-arch-of-i686-to-qe.patch -Patch00033: configure-remove-pkgversion-from-CONFIG_.patch -Patch00034: docs-add-SUSE-support-statements-to-html.patch -Patch00035: s390x-Fix-stringop-truncation-issue-repo.patch -Patch00036: Revert-qht-constify-qht_statistics_init.patch -Patch00037: qht-Revert-some-constification-in-qht.c.patch -Patch00038: meson-install-ivshmem-client-and-ivshmem.patch -Patch00039: Revert-roms-efirom-tests-uefi-test-tools.patch -Patch00040: Makefile-Don-t-check-pc-bios-as-pre-requ.patch -Patch00041: roms-Makefile-add-cross-file-to-qboot-me.patch -Patch00042: usb-Help-compiler-out-to-avoid-a-warning.patch +Patch00000: block-Simplify-qmp_block_resize-error-pa.patch +Patch00001: block-Fix-locking-in-qmp_block_resize.patch +Patch00002: block-Fix-deadlock-in-bdrv_co_yield_to_d.patch +Patch00003: audio-add-sanity-check.patch +Patch00004: build-no-pie-is-no-functional-linker-fla.patch +Patch00005: block-nfs-fix-int-overflow-in-nfs_client.patch +Patch00006: XXX-dont-dump-core-on-sigabort.patch +Patch00007: qemu-binfmt-conf-Modify-default-path.patch +Patch00008: qemu-cvs-gettimeofday.patch +Patch00009: qemu-cvs-ioctl_debug.patch +Patch00010: qemu-cvs-ioctl_nodirection.patch +Patch00011: linux-user-add-binfmt-wrapper-for-argv-0.patch +Patch00012: PPC-KVM-Disable-mmu-notifier-check.patch +Patch00013: linux-user-binfmt-support-host-binaries.patch +Patch00014: linux-user-Fake-proc-cpuinfo.patch +Patch00015: linux-user-use-target_ulong.patch +Patch00016: Make-char-muxer-more-robust-wrt-small-FI.patch +Patch00017: linux-user-lseek-explicitly-cast-non-set.patch +Patch00018: AIO-Reduce-number-of-threads-for-32bit-h.patch +Patch00019: xen_disk-Add-suse-specific-flush-disable.patch +Patch00020: qemu-bridge-helper-reduce-security-profi.patch +Patch00021: qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch +Patch00022: roms-Makefile-pass-a-packaging-timestamp.patch +Patch00023: Raise-soft-address-space-limit-to-hard-l.patch +Patch00024: increase-x86_64-physical-bits-to-42.patch +Patch00025: i8254-Fix-migration-from-SLE11-SP2.patch +Patch00026: acpi_piix4-Fix-migration-from-SLE11-SP2.patch +Patch00027: Make-installed-scripts-explicitly-python.patch +Patch00028: hw-smbios-handle-both-file-formats-regar.patch +Patch00029: xen-add-block-resize-support-for-xen-dis.patch +Patch00030: tests-qemu-iotests-Triple-timeout-of-i-o.patch +Patch00031: tests-Fix-block-tests-to-be-compatible-w.patch +Patch00032: xen-ignore-live-parameter-from-xen-save-.patch +Patch00033: tests-change-error-message-in-test-162.patch +Patch00034: hw-intc-exynos4210_gic-provide-more-room.patch +Patch00035: configure-only-populate-roms-if-softmmu.patch +Patch00036: pc-bios-s390-ccw-net-avoid-warning-about.patch +Patch00037: roms-change-cross-compiler-naming-to-be-.patch +Patch00038: test-add-mapping-from-arch-of-i686-to-qe.patch +Patch00039: configure-remove-pkgversion-from-CONFIG_.patch +Patch00040: docs-add-SUSE-support-statements-to-html.patch +Patch00041: s390x-Fix-stringop-truncation-issue-repo.patch +Patch00042: Revert-qht-constify-qht_statistics_init.patch +Patch00043: qht-Revert-some-constification-in-qht.c.patch +Patch00044: meson-install-ivshmem-client-and-ivshmem.patch +Patch00045: Revert-roms-efirom-tests-uefi-test-tools.patch +Patch00046: Makefile-Don-t-check-pc-bios-as-pre-requ.patch +Patch00047: roms-Makefile-add-cross-file-to-qboot-me.patch +Patch00048: usb-Help-compiler-out-to-avoid-a-warning.patch # Patches applied in roms/seabios/: Patch01000: seabios-use-python2-explicitly-as-needed.patch Patch01001: seabios-switch-to-python3-as-needed.patch @@ -1010,20 +1016,26 @@ This package records qemu testsuite results and represents successful testing. %patch00031 -p1 %patch00032 -p1 %patch00033 -p1 -%if %{legacy_qemu_kvm} %patch00034 -p1 -%endif %patch00035 -p1 %patch00036 -p1 %patch00037 -p1 %patch00038 -p1 %patch00039 -p1 +%if %{legacy_qemu_kvm} %patch00040 -p1 -%ifarch aarch64 +%endif %patch00041 -p1 +%patch00042 -p1 +%patch00043 -p1 +%patch00044 -p1 +%patch00045 -p1 +%patch00046 -p1 +%ifarch aarch64 +%patch00047 -p1 %endif %ifarch %arm %ix86 -%patch00042 -p1 +%patch00048 -p1 %endif %patch01000 -p1 %patch01001 -p1 diff --git a/qemu.spec.in b/qemu.spec.in index e5c5c34a..a2ced03b 100644 --- a/qemu.spec.in +++ b/qemu.spec.in @@ -1,7 +1,7 @@ # # spec file for package qemu # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed