diff --git a/SOURCES/kvm-block-Parse-filenames-only-when-explicitly-requested.patch b/SOURCES/kvm-block-Parse-filenames-only-when-explicitly-requested.patch new file mode 100644 index 0000000..5ea7203 --- /dev/null +++ b/SOURCES/kvm-block-Parse-filenames-only-when-explicitly-requested.patch @@ -0,0 +1,260 @@ +From 5c35b7d631e9cdf75512b9e1a0b5d48e8fd768d9 Mon Sep 17 00:00:00 2001 +From: Jon Maloy +Date: Wed, 5 Jun 2024 19:56:51 -0400 +Subject: [PATCH 4/4] block: Parse filenames only when explicitly requested + +RH-Author: Jon Maloy +RH-MergeRequest: 2: EMBARGOED CVE-2024-4467 for rhel-9.4.z (PRDSC) +RH-Jira: https://issues.redhat.com/browse/RHEL-35610 +RH-CVE: CVE-2024-4467 +RH-Acked-by: Kevin Wolf +RH-Acked-by: Stefan Hajnoczi +RH-Acked-by: Hanna Czenczek +RH-Commit: [4/4] 6f71e6a07bd5a9f8352db920f498f5fa5a2cdbfb + +commit f44c2941d4419e60f16dea3e9adca164e75aa78d (origin/cve-2024-4467-hreitz-rhel-9.5.0) +Author: Kevin Wolf +Date: Thu Apr 25 14:56:02 2024 +0200 + + block: Parse filenames only when explicitly requested + + When handling image filenames from legacy options such as -drive or from + tools, these filenames are parsed for protocol prefixes, including for + the json:{} pseudo-protocol. + + This behaviour is intended for filenames that come directly from the + command line and for backing files, which may come from the image file + itself. Higher level management tools generally take care to verify that + untrusted images don't contain a bad (or any) backing file reference; + 'qemu-img info' is a suitable tool for this. + + However, for other files that can be referenced in images, such as + qcow2 data files or VMDK extents, the string from the image file is + usually not verified by management tools - and 'qemu-img info' wouldn't + be suitable because in contrast to backing files, it already opens these + other referenced files. So here the string should be interpreted as a + literal local filename. More complex configurations need to be specified + explicitly on the command line or in QMP. + + This patch changes bdrv_open_inherit() so that it only parses filenames + if a new parameter parse_filename is true. It is set for the top level + in bdrv_open(), for the file child and for the backing file child. All + other callers pass false and disable filename parsing this way. + + Signed-off-by: Kevin Wolf + Reviewed-by: Eric Blake + Reviewed-by: Stefan Hajnoczi + Reviewed-by: Hanna Czenczek + Upstream: N/A, embargoed + Signed-off-by: Hanna Czenczek + +Signed-off-by: Jon Maloy +--- + block.c | 90 ++++++++++++++++++++++++++++++++++++--------------------- + 1 file changed, 57 insertions(+), 33 deletions(-) + +diff --git a/block.c b/block.c +index a097772238..8b6aa4a65c 100644 +--- a/block.c ++++ b/block.c +@@ -86,6 +86,7 @@ static BlockDriverState *bdrv_open_inherit(const char *filename, + BlockDriverState *parent, + const BdrvChildClass *child_class, + BdrvChildRole child_role, ++ bool parse_filename, + Error **errp); + + static bool bdrv_recurse_has_child(BlockDriverState *bs, +@@ -2035,7 +2036,8 @@ static void parse_json_protocol(QDict *options, const char **pfilename, + * block driver has been specified explicitly. + */ + static int bdrv_fill_options(QDict **options, const char *filename, +- int *flags, Error **errp) ++ int *flags, bool allow_parse_filename, ++ Error **errp) + { + const char *drvname; + bool protocol = *flags & BDRV_O_PROTOCOL; +@@ -2077,7 +2079,7 @@ static int bdrv_fill_options(QDict **options, const char *filename, + if (protocol && filename) { + if (!qdict_haskey(*options, "filename")) { + qdict_put_str(*options, "filename", filename); +- parse_filename = true; ++ parse_filename = allow_parse_filename; + } else { + error_setg(errp, "Can't specify 'file' and 'filename' options at " + "the same time"); +@@ -3639,7 +3641,8 @@ int bdrv_open_backing_file(BlockDriverState *bs, QDict *parent_options, + } + + backing_hd = bdrv_open_inherit(backing_filename, reference, options, 0, bs, +- &child_of_bds, bdrv_backing_role(bs), errp); ++ &child_of_bds, bdrv_backing_role(bs), true, ++ errp); + if (!backing_hd) { + bs->open_flags |= BDRV_O_NO_BACKING; + error_prepend(errp, "Could not open backing file: "); +@@ -3673,7 +3676,8 @@ free_exit: + static BlockDriverState * + bdrv_open_child_bs(const char *filename, QDict *options, const char *bdref_key, + BlockDriverState *parent, const BdrvChildClass *child_class, +- BdrvChildRole child_role, bool allow_none, Error **errp) ++ BdrvChildRole child_role, bool allow_none, ++ bool parse_filename, Error **errp) + { + BlockDriverState *bs = NULL; + QDict *image_options; +@@ -3704,7 +3708,8 @@ bdrv_open_child_bs(const char *filename, QDict *options, const char *bdref_key, + } + + bs = bdrv_open_inherit(filename, reference, image_options, 0, +- parent, child_class, child_role, errp); ++ parent, child_class, child_role, parse_filename, ++ errp); + if (!bs) { + goto done; + } +@@ -3714,6 +3719,33 @@ done: + return bs; + } + ++static BdrvChild *bdrv_open_child_common(const char *filename, ++ QDict *options, const char *bdref_key, ++ BlockDriverState *parent, ++ const BdrvChildClass *child_class, ++ BdrvChildRole child_role, ++ bool allow_none, bool parse_filename, ++ Error **errp) ++{ ++ BlockDriverState *bs; ++ BdrvChild *child; ++ ++ GLOBAL_STATE_CODE(); ++ ++ bs = bdrv_open_child_bs(filename, options, bdref_key, parent, child_class, ++ child_role, allow_none, parse_filename, errp); ++ if (bs == NULL) { ++ return NULL; ++ } ++ ++ bdrv_graph_wrlock(); ++ child = bdrv_attach_child(parent, bs, bdref_key, child_class, child_role, ++ errp); ++ bdrv_graph_wrunlock(); ++ ++ return child; ++} ++ + /* + * Opens a disk image whose options are given as BlockdevRef in another block + * device's options. +@@ -3737,27 +3769,15 @@ BdrvChild *bdrv_open_child(const char *filename, + BdrvChildRole child_role, + bool allow_none, Error **errp) + { +- BlockDriverState *bs; +- BdrvChild *child; +- +- GLOBAL_STATE_CODE(); +- +- bs = bdrv_open_child_bs(filename, options, bdref_key, parent, child_class, +- child_role, allow_none, errp); +- if (bs == NULL) { +- return NULL; +- } +- +- bdrv_graph_wrlock(); +- child = bdrv_attach_child(parent, bs, bdref_key, child_class, child_role, +- errp); +- bdrv_graph_wrunlock(); +- +- return child; ++ return bdrv_open_child_common(filename, options, bdref_key, parent, ++ child_class, child_role, allow_none, false, ++ errp); + } + + /* +- * Wrapper on bdrv_open_child() for most popular case: open primary child of bs. ++ * This does mostly the same as bdrv_open_child(), but for opening the primary ++ * child of a node. A notable difference from bdrv_open_child() is that it ++ * enables filename parsing for protocol names (including json:). + * + * @parent can move to a different AioContext in this function. + */ +@@ -3772,8 +3792,8 @@ int bdrv_open_file_child(const char *filename, + role = parent->drv->is_filter ? + (BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY) : BDRV_CHILD_IMAGE; + +- if (!bdrv_open_child(filename, options, bdref_key, parent, +- &child_of_bds, role, false, errp)) ++ if (!bdrv_open_child_common(filename, options, bdref_key, parent, ++ &child_of_bds, role, false, true, errp)) + { + return -EINVAL; + } +@@ -3818,7 +3838,8 @@ BlockDriverState *bdrv_open_blockdev_ref(BlockdevRef *ref, Error **errp) + + } + +- bs = bdrv_open_inherit(NULL, reference, qdict, 0, NULL, NULL, 0, errp); ++ bs = bdrv_open_inherit(NULL, reference, qdict, 0, NULL, NULL, 0, false, ++ errp); + obj = NULL; + qobject_unref(obj); + visit_free(v); +@@ -3907,7 +3928,7 @@ static BlockDriverState * no_coroutine_fn + bdrv_open_inherit(const char *filename, const char *reference, QDict *options, + int flags, BlockDriverState *parent, + const BdrvChildClass *child_class, BdrvChildRole child_role, +- Error **errp) ++ bool parse_filename, Error **errp) + { + int ret; + BlockBackend *file = NULL; +@@ -3955,9 +3976,11 @@ bdrv_open_inherit(const char *filename, const char *reference, QDict *options, + } + + /* json: syntax counts as explicit options, as if in the QDict */ +- parse_json_protocol(options, &filename, &local_err); +- if (local_err) { +- goto fail; ++ if (parse_filename) { ++ parse_json_protocol(options, &filename, &local_err); ++ if (local_err) { ++ goto fail; ++ } + } + + bs->explicit_options = qdict_clone_shallow(options); +@@ -3982,7 +4005,8 @@ bdrv_open_inherit(const char *filename, const char *reference, QDict *options, + parent->open_flags, parent->options); + } + +- ret = bdrv_fill_options(&options, filename, &flags, &local_err); ++ ret = bdrv_fill_options(&options, filename, &flags, parse_filename, ++ &local_err); + if (ret < 0) { + goto fail; + } +@@ -4051,7 +4075,7 @@ bdrv_open_inherit(const char *filename, const char *reference, QDict *options, + + file_bs = bdrv_open_child_bs(filename, options, "file", bs, + &child_of_bds, BDRV_CHILD_IMAGE, +- true, &local_err); ++ true, true, &local_err); + if (local_err) { + goto fail; + } +@@ -4200,7 +4224,7 @@ BlockDriverState *bdrv_open(const char *filename, const char *reference, + GLOBAL_STATE_CODE(); + + return bdrv_open_inherit(filename, reference, options, flags, NULL, +- NULL, 0, errp); ++ NULL, 0, true, errp); + } + + /* Return true if the NULL-terminated @list contains @str */ +-- +2.39.3 + diff --git a/SOURCES/kvm-iotests-244-Don-t-store-data-file-with-protocol-in-i.patch b/SOURCES/kvm-iotests-244-Don-t-store-data-file-with-protocol-in-i.patch new file mode 100644 index 0000000..0e2fa11 --- /dev/null +++ b/SOURCES/kvm-iotests-244-Don-t-store-data-file-with-protocol-in-i.patch @@ -0,0 +1,69 @@ +From c2eafeb32a256cbafb0e65c0380acb478181326e Mon Sep 17 00:00:00 2001 +From: Jon Maloy +Date: Wed, 5 Jun 2024 19:56:51 -0400 +Subject: [PATCH 2/4] iotests/244: Don't store data-file with protocol in image + +RH-Author: Jon Maloy +RH-MergeRequest: 2: EMBARGOED CVE-2024-4467 for rhel-9.4.z (PRDSC) +RH-Jira: https://issues.redhat.com/browse/RHEL-35610 +RH-CVE: CVE-2024-4467 +RH-Acked-by: Kevin Wolf +RH-Acked-by: Stefan Hajnoczi +RH-Acked-by: Hanna Czenczek +RH-Commit: [2/4] ddef095945aa55bb0aacc2a2cb58f9e12ad20d5e + +commit 92e00dab8be1570b13172353d77d2af44cb4e22b +Author: Kevin Wolf +Date: Thu Apr 25 14:49:40 2024 +0200 + + iotests/244: Don't store data-file with protocol in image + + We want to disable filename parsing for data files because it's too easy + to abuse in malicious image files. Make the test ready for the change by + passing the data file explicitly in command line options. + + Signed-off-by: Kevin Wolf + Reviewed-by: Eric Blake + Reviewed-by: Stefan Hajnoczi + Reviewed-by: Hanna Czenczek + Upstream: N/A, embargoed + Signed-off-by: Hanna Czenczek + +Signed-off-by: Jon Maloy +--- + tests/qemu-iotests/244 | 19 ++++++++++++++++--- + 1 file changed, 16 insertions(+), 3 deletions(-) + +diff --git a/tests/qemu-iotests/244 b/tests/qemu-iotests/244 +index 3e61fa25bb..bb9cc6512f 100755 +--- a/tests/qemu-iotests/244 ++++ b/tests/qemu-iotests/244 +@@ -215,9 +215,22 @@ $QEMU_IMG convert -f $IMGFMT -O $IMGFMT -n -C "$TEST_IMG.src" "$TEST_IMG" + $QEMU_IMG compare -f $IMGFMT -F $IMGFMT "$TEST_IMG.src" "$TEST_IMG" + + # blkdebug doesn't support copy offloading, so this tests the error path +-$QEMU_IMG amend -f $IMGFMT -o "data_file=blkdebug::$TEST_IMG.data" "$TEST_IMG" +-$QEMU_IMG convert -f $IMGFMT -O $IMGFMT -n -C "$TEST_IMG.src" "$TEST_IMG" +-$QEMU_IMG compare -f $IMGFMT -F $IMGFMT "$TEST_IMG.src" "$TEST_IMG" ++test_img_with_blkdebug="json:{ ++ 'driver': 'qcow2', ++ 'file': { ++ 'driver': 'file', ++ 'filename': '$TEST_IMG' ++ }, ++ 'data-file': { ++ 'driver': 'blkdebug', ++ 'image': { ++ 'driver': 'file', ++ 'filename': '$TEST_IMG.data' ++ } ++ } ++}" ++$QEMU_IMG convert -f $IMGFMT -O $IMGFMT -n -C "$TEST_IMG.src" "$test_img_with_blkdebug" ++$QEMU_IMG compare -f $IMGFMT -F $IMGFMT "$TEST_IMG.src" "$test_img_with_blkdebug" + + echo + echo "=== Flushing should flush the data file ===" +-- +2.39.3 + diff --git a/SOURCES/kvm-iotests-270-Don-t-store-data-file-with-json-prefix-i.patch b/SOURCES/kvm-iotests-270-Don-t-store-data-file-with-json-prefix-i.patch new file mode 100644 index 0000000..caeac22 --- /dev/null +++ b/SOURCES/kvm-iotests-270-Don-t-store-data-file-with-json-prefix-i.patch @@ -0,0 +1,72 @@ +From 931ab59f39b5e3551b328fe5b0f872df7a19ba05 Mon Sep 17 00:00:00 2001 +From: Jon Maloy +Date: Wed, 5 Jun 2024 19:56:51 -0400 +Subject: [PATCH 3/4] iotests/270: Don't store data-file with json: prefix in + image + +RH-Author: Jon Maloy +RH-MergeRequest: 2: EMBARGOED CVE-2024-4467 for rhel-9.4.z (PRDSC) +RH-Jira: https://issues.redhat.com/browse/RHEL-35610 +RH-CVE: CVE-2024-4467 +RH-Acked-by: Kevin Wolf +RH-Acked-by: Stefan Hajnoczi +RH-Acked-by: Hanna Czenczek +RH-Commit: [3/4] 7a9844fd48e3f3c4d1711ea4fb671c795ca4a1c1 + +commit 705bcc2819ce8e0f8b9d660a93bc48de26413aec +Author: Kevin Wolf +Date: Thu Apr 25 14:49:40 2024 +0200 + + iotests/270: Don't store data-file with json: prefix in image + + We want to disable filename parsing for data files because it's too easy + to abuse in malicious image files. Make the test ready for the change by + passing the data file explicitly in command line options. + + Signed-off-by: Kevin Wolf + Reviewed-by: Eric Blake + Reviewed-by: Stefan Hajnoczi + Reviewed-by: Hanna Czenczek + Upstream: N/A, embargoed + Signed-off-by: Hanna Czenczek + +Signed-off-by: Jon Maloy +--- + tests/qemu-iotests/270 | 14 +++++++++++--- + 1 file changed, 11 insertions(+), 3 deletions(-) + +diff --git a/tests/qemu-iotests/270 b/tests/qemu-iotests/270 +index 74352342db..c37b674aa2 100755 +--- a/tests/qemu-iotests/270 ++++ b/tests/qemu-iotests/270 +@@ -60,8 +60,16 @@ _make_test_img -o cluster_size=2M,data_file="$TEST_IMG.orig" \ + # "write" 2G of data without using any space. + # (qemu-img create does not like it, though, because null-co does not + # support image creation.) +-$QEMU_IMG amend -o data_file="json:{'driver':'null-co',,'size':'4294967296'}" \ +- "$TEST_IMG" ++test_img_with_null_data="json:{ ++ 'driver': '$IMGFMT', ++ 'file': { ++ 'filename': '$TEST_IMG' ++ }, ++ 'data-file': { ++ 'driver': 'null-co', ++ 'size':'4294967296' ++ } ++}" + + # This gives us a range of: + # 2^31 - 512 + 768 - 1 = 2^31 + 255 > 2^31 +@@ -74,7 +82,7 @@ $QEMU_IMG amend -o data_file="json:{'driver':'null-co',,'size':'4294967296'}" \ + # on L2 boundaries, we need large L2 tables; hence the cluster size of + # 2 MB. (Anything from 256 kB should work, though, because then one L2 + # table covers 8 GB.) +-$QEMU_IO -c "write 768 $((2 ** 31 - 512))" "$TEST_IMG" | _filter_qemu_io ++$QEMU_IO -c "write 768 $((2 ** 31 - 512))" "$test_img_with_null_data" | _filter_qemu_io + + _check_test_img + +-- +2.39.3 + diff --git a/SOURCES/kvm-qcow2-Don-t-open-data_file-with-BDRV_O_NO_IO.patch b/SOURCES/kvm-qcow2-Don-t-open-data_file-with-BDRV_O_NO_IO.patch new file mode 100644 index 0000000..a92c7f5 --- /dev/null +++ b/SOURCES/kvm-qcow2-Don-t-open-data_file-with-BDRV_O_NO_IO.patch @@ -0,0 +1,125 @@ +From 6e39b4c13c0eacb35e81874b09e6b6411266c631 Mon Sep 17 00:00:00 2001 +From: Jon Maloy +Date: Wed, 5 Jun 2024 19:56:51 -0400 +Subject: [PATCH 1/4] qcow2: Don't open data_file with BDRV_O_NO_IO + +RH-Author: Jon Maloy +RH-MergeRequest: 2: EMBARGOED CVE-2024-4467 for rhel-9.4.z (PRDSC) +RH-Jira: https://issues.redhat.com/browse/RHEL-35610 +RH-CVE: CVE-2024-4467 +RH-Acked-by: Kevin Wolf +RH-Acked-by: Stefan Hajnoczi +RH-Acked-by: Hanna Czenczek +RH-Commit: [1/4] 1000359b05c706f3c5155a9481692352be333129 + +commit f9843ce5c519901654a7d8ba43ee95ce25ca13c2 +Author: Kevin Wolf +Date: Thu Apr 11 15:06:01 2024 +0200 + + qcow2: Don't open data_file with BDRV_O_NO_IO + + One use case for 'qemu-img info' is verifying that untrusted images + don't reference an unwanted external file, be it as a backing file or an + external data file. To make sure that calling 'qemu-img info' can't + already have undesired side effects with a malicious image, just don't + open the data file at all with BDRV_O_NO_IO. If nothing ever tries to do + I/O, we don't need to have it open. + + This changes the output of iotests case 061, which used 'qemu-img info' + to show that opening an image with an invalid data file fails. After + this patch, it succeeds. Replace this part of the test with a qemu-io + call, but keep the final 'qemu-img info' to show that the invalid data + file is correctly displayed in the output. + + Signed-off-by: Kevin Wolf + Reviewed-by: Eric Blake + Reviewed-by: Stefan Hajnoczi + Reviewed-by: Hanna Czenczek + Upstream: N/A, embargoed + Signed-off-by: Hanna Czenczek + +Signed-off-by: Jon Maloy +--- + block/qcow2.c | 17 ++++++++++++++++- + tests/qemu-iotests/061 | 6 ++++-- + tests/qemu-iotests/061.out | 8 ++++++-- + 3 files changed, 26 insertions(+), 5 deletions(-) + +diff --git a/block/qcow2.c b/block/qcow2.c +index d91b7b91d3..b269cfc78f 100644 +--- a/block/qcow2.c ++++ b/block/qcow2.c +@@ -1642,7 +1642,22 @@ qcow2_do_open(BlockDriverState *bs, QDict *options, int flags, + goto fail; + } + +- if (open_data_file) { ++ if (open_data_file && (flags & BDRV_O_NO_IO)) { ++ /* ++ * Don't open the data file for 'qemu-img info' so that it can be used ++ * to verify that an untrusted qcow2 image doesn't refer to external ++ * files. ++ * ++ * Note: This still makes has_data_file() return true. ++ */ ++ if (s->incompatible_features & QCOW2_INCOMPAT_DATA_FILE) { ++ s->data_file = NULL; ++ } else { ++ s->data_file = bs->file; ++ } ++ qdict_extract_subqdict(options, NULL, "data-file."); ++ qdict_del(options, "data-file"); ++ } else if (open_data_file) { + /* Open external data file */ + bdrv_graph_co_rdunlock(); + s->data_file = bdrv_co_open_child(NULL, options, "data-file", bs, +diff --git a/tests/qemu-iotests/061 b/tests/qemu-iotests/061 +index 53c7d428e3..b71ac097d1 100755 +--- a/tests/qemu-iotests/061 ++++ b/tests/qemu-iotests/061 +@@ -326,12 +326,14 @@ $QEMU_IMG amend -o "data_file=foo" "$TEST_IMG" + echo + _make_test_img -o "compat=1.1,data_file=$TEST_IMG.data" 64M + $QEMU_IMG amend -o "data_file=foo" "$TEST_IMG" +-_img_info --format-specific ++$QEMU_IO -c "read 0 4k" "$TEST_IMG" 2>&1 | _filter_testdir | _filter_imgfmt ++$QEMU_IO -c "open -o data-file.filename=$TEST_IMG.data,file.filename=$TEST_IMG" -c "read 0 4k" | _filter_qemu_io + TEST_IMG="data-file.filename=$TEST_IMG.data,file.filename=$TEST_IMG" _img_info --format-specific --image-opts + + echo + $QEMU_IMG amend -o "data_file=" --image-opts "data-file.filename=$TEST_IMG.data,file.filename=$TEST_IMG" +-_img_info --format-specific ++$QEMU_IO -c "read 0 4k" "$TEST_IMG" 2>&1 | _filter_testdir | _filter_imgfmt ++$QEMU_IO -c "open -o data-file.filename=$TEST_IMG.data,file.filename=$TEST_IMG" -c "read 0 4k" | _filter_qemu_io + TEST_IMG="data-file.filename=$TEST_IMG.data,file.filename=$TEST_IMG" _img_info --format-specific --image-opts + + echo +diff --git a/tests/qemu-iotests/061.out b/tests/qemu-iotests/061.out +index 139fc68177..24c33add7c 100644 +--- a/tests/qemu-iotests/061.out ++++ b/tests/qemu-iotests/061.out +@@ -545,7 +545,9 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 + qemu-img: data-file can only be set for images that use an external data file + + Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 data_file=TEST_DIR/t.IMGFMT.data +-qemu-img: Could not open 'TEST_DIR/t.IMGFMT': Could not open 'foo': No such file or directory ++qemu-io: can't open device TEST_DIR/t.IMGFMT: Could not open 'foo': No such file or directory ++read 4096/4096 bytes at offset 0 ++4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + image: TEST_DIR/t.IMGFMT + file format: IMGFMT + virtual size: 64 MiB (67108864 bytes) +@@ -560,7 +562,9 @@ Format specific information: + corrupt: false + extended l2: false + +-qemu-img: Could not open 'TEST_DIR/t.IMGFMT': 'data-file' is required for this image ++qemu-io: can't open device TEST_DIR/t.IMGFMT: 'data-file' is required for this image ++read 4096/4096 bytes at offset 0 ++4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + image: TEST_DIR/t.IMGFMT + file format: IMGFMT + virtual size: 64 MiB (67108864 bytes) +-- +2.39.3 + diff --git a/SPECS/qemu-kvm.spec b/SPECS/qemu-kvm.spec index 3682b96..3d6f1e2 100644 --- a/SPECS/qemu-kvm.spec +++ b/SPECS/qemu-kvm.spec @@ -149,7 +149,7 @@ Obsoletes: %{name}-block-ssh <= %{epoch}:%{version} \ Summary: QEMU is a machine emulator and virtualizer Name: qemu-kvm Version: 8.2.0 -Release: 11%{?rcrel}%{?dist}%{?cc_suffix}.3.inferit +Release: 11%{?rcrel}%{?dist}%{?cc_suffix}.4.inferit # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped # Epoch 15 used for RHEL 8 # Epoch 17 used for RHEL 9 (due to release versioning offset in RHEL 8.5) @@ -622,6 +622,14 @@ Patch181: kvm-nbd-server-Mark-negotiation-functions-as-coroutine_f.patch Patch182: kvm-qio-Inherit-follow_coroutine_ctx-across-TLS.patch # For RHEL-33754 - Qemu hang when quit dst vm after storage migration(nbd+tls) [rhel-9.4.z] Patch183: kvm-iotests-test-NBD-TLS-iothread.patch +# For RHEL-35610 +Patch184: kvm-qcow2-Don-t-open-data_file-with-BDRV_O_NO_IO.patch +# For RHEL-35610 +Patch185: kvm-iotests-244-Don-t-store-data-file-with-protocol-in-i.patch +# For RHEL-35610 +Patch186: kvm-iotests-270-Don-t-store-data-file-with-json-prefix-i.patch +# For RHEL-35610 +Patch187: kvm-block-Parse-filenames-only-when-explicitly-requested.patch %if %{have_clang} BuildRequires: clang @@ -928,7 +936,7 @@ Summary: QEMU usbredir support Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} Requires: usbredir >= 0.7.1 Provides: %{name}-hw-usbredir -Obsoletes: %{name}-hw-usbredir <= %{epoch}:%{version} +Obsoletes: %{name}-hw-usbredir <= %{epoch}:%{version} %description device-usb-redirect This package provides usbredir support. @@ -1683,6 +1691,13 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %endif %changelog +* Wed Jul 03 2024 Sergey Cherevko - 8.2.0-11.4.inferit +- Update to 8.2.0-11.el9_4.4 + +* Wed Jun 19 2024 Miroslav Rezanina - 8.2.0-11.el9_4.4 +- Fixing CVE-2024-4467 +- Resolves: RHEL-35610 + * Fri Jun 07 2024 Miroslav Rezanina - 8.2.0-11.el9_4.3 - kvm-nbd-server-do-not-poll-within-a-coroutine-context.patch [RHEL-33754] - kvm-nbd-server-Mark-negotiation-functions-as-coroutine_f.patch [RHEL-33754] @@ -2005,28 +2020,304 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ - Resolves: RHEL-832 (qemu-kvm crashed when migrating guest with failover vf) -* Mon Aug 07 2023 Miroslav Rezanina - 7.2.0-14.el9_2.4 -- kvm-aio-posix-fix-race-between-epoll-upgrade-and-aio_set.patch [bz#2211923] -- kvm-vhost-vdpa-do-not-cleanup-the-vdpa-vhost-net-structu.patch [bz#2227721] -- Resolves: bz#2211923 - ([qemu-kvm] rhel guest failed boot with multi disks on error Failed to start udev Wait for Complete Device Initialization [rhel-9.2.0.z]) -- Resolves: bz#2227721 - ([rhel9.2] hotplug/hotunplug mlx vdpa device to the occupied addr port, then qemu core dump occurs after shutdown guest [rhel-9.2.0.z]) - -* Tue Jul 11 2023 Miroslav Rezanina - 7.2.0-14.el9_2.3 -- kvm-kvm-reuse-per-vcpu-stats-fd-to-avoid-vcpu-interrupti.patch [bz#2221219] -- Resolves: bz#2221219 - (query-stats QMP command interrupts vcpus, the Max Latencies could be more than 100us (rhel 9.3.0 clone) [rhel-9.2.0.z]) - -* Mon Jun 19 2023 Miroslav Rezanina - 7.2.0-14.el9_2.2 -- kvm-vdpa-stop-all-svq-on-device-deletion.patch [bz#2213864] -- Resolves: bz#2213864 - ([mlx vhost_vdpa][rhel 9.2]qemu core dump when hot unplug then hotplug a vdpa interface with multi-queue setting [rhel-9.2.0.z]) - -* Thu May 25 2023 Miroslav Rezanina - 7.2.0-14.el9_2.1 -- kvm-acpi-pcihp-allow-repeating-hot-unplug-requests.patch [bz#2203745] -- Resolves: bz#2203745 - (Disk detach is unsuccessful while the guest is still booting [rhel-9.2.0.z]) +* Mon Sep 04 2023 Miroslav Rezanina - 8.1.0-1 +- Rebase to QEMU 8.1 [RHEL-870] +- Resolves: RHEL-870 + (Rebase qemu-kvm to QEMU 8.1.0) + +* Thu Aug 24 2023 Miroslav Rezanina - 8.0.0-13 +- kvm-vdpa-return-errno-in-vhost_vdpa_get_vring_group-erro.patch [RHEL-923] +- kvm-vdpa-move-CVQ-isolation-check-to-net_init_vhost_vdpa.patch [RHEL-923] +- kvm-vdpa-use-first-queue-SVQ-state-for-CVQ-default.patch [RHEL-923] +- kvm-vdpa-export-vhost_vdpa_set_vring_ready.patch [RHEL-923] +- kvm-vdpa-rename-vhost_vdpa_net_load-to-vhost_vdpa_net_cv.patch [RHEL-923] +- kvm-vdpa-move-vhost_vdpa_set_vring_ready-to-the-caller.patch [RHEL-923] +- kvm-vdpa-remove-net-cvq-migration-blocker.patch [RHEL-923] +- Resolves: RHEL-923 + (vhost shadow virtqueue: state restore through CVQ) + +* Mon Aug 21 2023 Miroslav Rezanina - 8.0.0-12 +- kvm-target-i386-allow-versioned-CPUs-to-specify-new-cach.patch [bz#2094913] +- kvm-target-i386-Add-new-EPYC-CPU-versions-with-updated-c.patch [bz#2094913] +- kvm-target-i386-Add-a-couple-of-feature-bits-in-8000_000.patch [bz#2094913] +- kvm-target-i386-Add-feature-bits-for-CPUID_Fn80000021_EA.patch [bz#2094913] +- kvm-target-i386-Add-missing-feature-bits-in-EPYC-Milan-m.patch [bz#2094913] +- kvm-target-i386-Add-VNMI-and-automatic-IBRS-feature-bits.patch [bz#2094913] +- kvm-target-i386-Add-EPYC-Genoa-model-to-support-Zen-4-pr.patch [bz#2094913] +- Resolves: bz#2094913 + (Add EPYC-Genoa CPU model in qemu) + +* Mon Aug 07 2023 Miroslav Rezanina - 8.0.0-11 +- kvm-block-blkio-enable-the-completion-eventfd.patch [bz#2225354 bz#2225439] +- kvm-block-blkio-do-not-use-open-flags-in-qemu_open.patch [bz#2225354 bz#2225439] +- kvm-block-blkio-move-blkio_connect-in-the-drivers-functi.patch [bz#2225354 bz#2225439] +- kvm-block-blkio-retry-blkio_connect-if-it-fails-using-fd.patch [bz#2225354 bz#2225439] +- kvm-block-blkio-fall-back-on-using-path-when-fd-setting-.patch [bz#2225354 bz#2225439] +- kvm-block-blkio-use-blkio_set_int-fd-to-check-fd-support.patch [bz#2225354 bz#2225439] +- kvm-hw-virtio-iommu-Fix-potential-OOB-access-in-virtio_i.patch [bz#2229133] +- kvm-virtio-iommu-Standardize-granule-extraction-and-form.patch [bz#2229133] +- kvm-hw-arm-smmu-Handle-big-endian-hosts-correctly.patch [bz#2229133] +- kvm-qapi-i386-sev-Change-the-reduced-phys-bits-value-fro.patch [bz#2214839] +- kvm-qemu-options.hx-Update-the-reduced-phys-bits-documen.patch [bz#2214839] +- kvm-i386-sev-Update-checks-and-information-related-to-re.patch [bz#2214839] +- kvm-i386-cpu-Update-how-the-EBX-register-of-CPUID-0x8000.patch [bz#2214839] +- kvm-Provide-elf2dmp-binary-in-qemu-tools.patch [bz#2165917] +- Resolves: bz#2225354 + ([vdpa-blk] The new driver virtio-blk-vhost-user not work in VM booting) +- Resolves: bz#2225439 + ([vdpa-blk] read-only=on option not work on driver virtio-blk-vhost-vdpa) +- Resolves: bz#2229133 + (Backport some virtio-iommu and smmu fixes) +- Resolves: bz#2214839 + ([AMDSERVER 9.3 Bug] Qemu SEV reduced-phys-bits fixes) +- Resolves: bz#2165917 + (qemu-kvm: contrib/elf2dmp: Windows Server 2022 support) + +* Mon Jul 31 2023 Miroslav Rezanina - 8.0.0-10 +- kvm-util-iov-Make-qiov_slice-public.patch [bz#2174676] +- kvm-block-Collapse-padded-I-O-vecs-exceeding-IOV_MAX.patch [bz#2174676] +- kvm-util-iov-Remove-qemu_iovec_init_extended.patch [bz#2174676] +- kvm-iotests-iov-padding-New-test.patch [bz#2174676] +- kvm-block-Fix-pad_request-s-request-restriction.patch [bz#2174676] +- kvm-vdpa-do-not-block-migration-if-device-has-cvq-and-x-.patch [RHEL-573] +- kvm-virtio-net-correctly-report-maximum-tx_queue_size-va.patch [bz#2040509] +- kvm-hw-pci-Disable-PCI_ERR_UNCOR_MASK-reg-for-machine-ty.patch [bz#2223691] +- kvm-vhost-vdpa-mute-unaligned-memory-error-report.patch [bz#2141965] +- Resolves: bz#2174676 + (Guest hit EXT4-fs error on host 4K disk when repeatedly hot-plug/unplug running IO disk [RHEL9]) +- Resolves: RHEL-573 + ([mlx vhost_vdpa][rhel 9.3]live migration fail with "net vdpa cannot migrate with CVQ feature") +- Resolves: bz#2040509 + ([RFE]:Add support for changing "tx_queue_size" to a setable value) +- Resolves: bz#2223691 + ([machine type 9.2]Failed to migrate VM from RHEL 9.3 to RHEL 9.2) +- Resolves: bz#2141965 + ([TPM][vhost-vdpa][rhel9.2]Boot a guest with "vhost-vdpa + TPM emulator", qemu output: qemu-kvm: vhost_vdpa_listener_region_add received unaligned region) + +* Mon Jul 24 2023 Miroslav Rezanina - 8.0.0-9 +- kvm-scsi-fetch-unit-attention-when-creating-the-request.patch [bz#2176702] +- kvm-scsi-cleanup-scsi_clear_unit_attention.patch [bz#2176702] +- kvm-scsi-clear-unit-attention-only-for-REPORT-LUNS-comma.patch [bz#2176702] +- kvm-s390x-ap-Wire-up-the-device-request-notifier-interfa.patch [RHEL-794] +- kvm-multifd-Create-property-multifd-flush-after-each-sec.patch [bz#2196295] +- kvm-multifd-Protect-multifd_send_sync_main-calls.patch [bz#2196295] +- kvm-multifd-Only-flush-once-each-full-round-of-memory.patch [bz#2196295] +- kvm-net-socket-prepare-to-cleanup-net_init_socket.patch [RHEL-582] +- kvm-net-socket-move-fd-type-checking-to-its-own-function.patch [RHEL-582] +- kvm-net-socket-remove-net_init_socket.patch [RHEL-582] +- kvm-pcie-Add-hotplug-detect-state-register-to-cmask.patch [bz#2215819] +- kvm-spec-Build-DBUS-display.patch [bz#2207940] +- Resolves: bz#2176702 + ([RHEL9][virtio-scsi] scsi-hd cannot hot-plug successfully after hot-plug it repeatly) +- Resolves: RHEL-794 + (Backport s390x fixes from QEMU 8.1) +- Resolves: bz#2196295 + (Multifd flushes its channels 10 times per second) +- Resolves: RHEL-582 + ([passt][rhel 9.3] qemu core dump occurs when guest is shutdown after hotunplug/hotplug a passt interface) +- Resolves: bz#2215819 + (Migration test failed while guest with PCIe devices) +- Resolves: bz#2207940 + ([RFE] Enable qemu-ui-dbus subpackage) + +* Mon Jul 17 2023 Miroslav Rezanina - 8.0.0-8 +- kvm-virtio-iommu-Fix-64kB-host-page-size-VFIO-device-ass.patch [bz#2211609 bz#2211634] +- kvm-virtio-iommu-Rework-the-traces-in-virtio_iommu_set_p.patch [bz#2211609 bz#2211634] +- kvm-vfio-pci-add-support-for-VF-token.patch [bz#2192818] +- kvm-vfio-migration-Skip-log_sync-during-migration-SETUP-.patch [bz#2192818] +- kvm-vfio-pci-Static-Resizable-BAR-capability.patch [bz#2192818] +- kvm-vfio-pci-Fix-a-use-after-free-issue.patch [bz#2192818] +- kvm-util-vfio-helpers-Use-g_file_read_link.patch [bz#2192818] +- kvm-migration-Make-all-functions-check-have-the-same-for.patch [bz#2192818] +- kvm-migration-Move-migration_properties-to-options.c.patch [bz#2192818] +- kvm-migration-Add-switchover-ack-capability.patch [bz#2192818] +- kvm-migration-Implement-switchover-ack-logic.patch [bz#2192818] +- kvm-migration-Enable-switchover-ack-capability.patch [bz#2192818] +- kvm-vfio-migration-Refactor-vfio_save_block-to-return-sa.patch [bz#2192818] +- kvm-vfio-migration-Store-VFIO-migration-flags-in-VFIOMig.patch [bz#2192818] +- kvm-vfio-migration-Add-VFIO-migration-pre-copy-support.patch [bz#2192818] +- kvm-vfio-migration-Add-support-for-switchover-ack-capabi.patch [bz#2192818] +- kvm-vfio-Implement-a-common-device-info-helper.patch [bz#2192818] +- kvm-hw-vfio-pci-quirks-Support-alternate-offset-for-GPUD.patch [bz#2192818] +- kvm-vfio-pci-Call-vfio_prepare_kvm_msi_virq_batch-in-MSI.patch [bz#2192818] +- kvm-vfio-migration-Reset-bytes_transferred-properly.patch [bz#2192818] +- kvm-vfio-migration-Make-VFIO-migration-non-experimental.patch [bz#2192818] +- kvm-vfio-pci-Fix-a-segfault-in-vfio_realize.patch [bz#2192818] +- kvm-vfio-pci-Free-leaked-timer-in-vfio_realize-error-pat.patch [bz#2192818] +- kvm-hw-vfio-pci-quirks-Sanitize-capability-pointer.patch [bz#2192818] +- kvm-vfio-pci-Disable-INTx-in-vfio_realize-error-path.patch [bz#2192818] +- kvm-vfio-migration-Change-vIOMMU-blocker-from-global-to-.patch [bz#2192818] +- kvm-vfio-migration-Free-resources-when-vfio_migration_re.patch [bz#2192818] +- kvm-vfio-migration-Remove-print-of-Migration-disabled.patch [bz#2192818] +- kvm-vfio-migration-Return-bool-type-for-vfio_migration_r.patch [bz#2192818] +- kvm-vfio-Fix-null-pointer-dereference-bug-in-vfio_bars_f.patch [bz#2192818] +- kvm-pc-bios-s390-ccw-Makefile-Use-z-noexecstack-to-silen.patch [bz#2220866] +- kvm-pc-bios-s390-ccw-Fix-indentation-in-start.S.patch [bz#2220866] +- kvm-pc-bios-s390-ccw-Provide-space-for-initial-stack-fra.patch [bz#2220866] +- kvm-pc-bios-s390-ccw-Don-t-use-__bss_start-with-the-larl.patch [bz#2220866] +- kvm-ui-Fix-pixel-colour-channel-order-for-PNG-screenshot.patch [bz#2222579] +- kvm-block-blkio-fix-module_block.py-parsing.patch [bz#2213317] +- kvm-Fix-virtio-blk-vhost-vdpa-typo-in-spec-file.patch [bz#2213317] +- Resolves: bz#2211609 + (With virtio-iommu and vfio-pci, qemu reports "warning: virtio-iommu page mask 0xfffffffffffff000 does not match 0x40201000") +- Resolves: bz#2211634 + ([aarch64] With virtio-iommu and vfio-pci, qemu coredump when host using kernel-64k package) +- Resolves: bz#2192818 + ([VFIO LM] Live migration) +- Resolves: bz#2220866 + (Misaligned symbol for s390-ccw image during qemu-kvm build) +- Resolves: bz#2222579 + (PNG screendump doesn't save screen correctly) +- Resolves: bz#2213317 + (Enable libblkio-based block drivers in QEMU) + +* Mon Jul 10 2023 Miroslav Rezanina - 8.0.0-7 +- kvm-numa-Validate-cluster-and-NUMA-node-boundary-if-requ.patch [bz#2171363] +- kvm-hw-arm-Validate-cluster-and-NUMA-node-boundary.patch [bz#2171363] +- kvm-hw-arm-virt-Validate-cluster-and-NUMA-node-boundary-.patch [bz#2171363] +- kvm-vhost-fix-vhost_dev_enable_notifiers-error-case.patch [RHEL-330] +- kvm-kvm-reuse-per-vcpu-stats-fd-to-avoid-vcpu-interrupti.patch [bz#2218644] +- kvm-vhost-vdpa-do-not-cleanup-the-vdpa-vhost-net-structu.patch [bz#2128929] +- Resolves: bz#2171363 + ([aarch64] Kernel hits Call trace with irregular CPU-to-NUMA association) +- Resolves: RHEL-330 + ([virtual network][qemu-kvm-8.0.0-rc1]qemu core dump: qemu-kvm: ../softmmu/memory.c:2592: void memory_region_del_eventfd(MemoryRegion *, hwaddr, unsigned int, _Bool, uint64_t, EventNotifier *): Assertion `i != mr->ioeventfd_nb' failed) +- Resolves: bz#2218644 + (query-stats QMP command interrupts vcpus, the Max Latencies could be more than 100us (rhel 9.3.0 clone)) +- Resolves: bz#2128929 + ([rhel9.2] hotplug/hotunplug mlx vdpa device to the occupied addr port, then qemu core dump occurs after shutdown guest) + +* Mon Jun 26 2023 Miroslav Rezanina - 8.0.0-6 +- kvm-target-i386-add-support-for-FLUSH_L1D-feature.patch [bz#2216201] +- kvm-target-i386-add-support-for-FB_CLEAR-feature.patch [bz#2216201] +- kvm-block-blkio-use-qemu_open-to-support-fd-passing-for-.patch [bz#2180076] +- kvm-qapi-add-fdset-feature-for-BlockdevOptionsVirtioBlkV.patch [bz#2180076] +- kvm-Enable-libblkio-block-drivers.patch [bz#2213317] +- Resolves: bz#2216201 + ([qemu-kvm]VM reports vulnerabilty to mmio_stale_data on patched host with microcode) +- Resolves: bz#2180076 + ([qemu-kvm] support fd passing for libblkio QEMU BlockDrivers) +- Resolves: bz#2213317 + (Enable libblkio-based block drivers in QEMU) + +* Tue Jun 13 2023 Miroslav Rezanina - 8.0.0-5 +- kvm-block-compile-out-assert_bdrv_graph_readable-by-defa.patch [bz#2186725] +- kvm-graph-lock-Disable-locking-for-now.patch [bz#2186725] +- kvm-nbd-server-Fix-drained_poll-to-wake-coroutine-in-rig.patch [bz#2186725] +- kvm-iotests-Test-commit-with-iothreads-and-ongoing-I-O.patch [bz#2186725] +- kvm-memory-prevent-dma-reentracy-issues.patch [RHEL-516] +- kvm-async-Add-an-optional-reentrancy-guard-to-the-BH-API.patch [RHEL-516] +- kvm-checkpatch-add-qemu_bh_new-aio_bh_new-checks.patch [RHEL-516] +- kvm-hw-replace-most-qemu_bh_new-calls-with-qemu_bh_new_g.patch [RHEL-516] +- kvm-lsi53c895a-disable-reentrancy-detection-for-script-R.patch [RHEL-516] +- kvm-bcm2835_property-disable-reentrancy-detection-for-io.patch [RHEL-516] +- kvm-raven-disable-reentrancy-detection-for-iomem.patch [RHEL-516] +- kvm-apic-disable-reentrancy-detection-for-apic-msi.patch [RHEL-516] +- kvm-async-avoid-use-after-free-on-re-entrancy-guard.patch [RHEL-516] +- kvm-loongarch-mark-loongarch_ipi_iocsr-re-entrnacy-safe.patch [RHEL-516] +- kvm-memory-stricter-checks-prior-to-unsetting-engaged_in.patch [RHEL-516] +- kvm-lsi53c895a-disable-reentrancy-detection-for-MMIO-reg.patch [RHEL-516] +- kvm-hw-scsi-lsi53c895a-Fix-reentrancy-issues-in-the-LSI-.patch [RHEL-516] +- kvm-hw-pci-Disable-PCI_ERR_UNCOR_MASK-register-for-machi.patch [bz#2189423] +- kvm-multifd-Fix-the-number-of-channels-ready.patch [bz#2196289] +- kvm-util-async-teardown-wire-up-query-command-line-optio.patch [bz#2168500] +- kvm-s390x-pv-Fix-spurious-warning-with-asynchronous-tear.patch [bz#2168500] +- Resolves: bz#2186725 + (Qemu hang when commit during fio running(iothread enable)) +- Resolves: RHEL-516 + (CVE-2023-2680 qemu-kvm: QEMU: hcd-ehci: DMA reentrancy issue (incomplete fix for CVE-2021-3750) [rhel-9]) +- Resolves: bz#2189423 + (Failed to migrate VM from rhel 9.3 to rhel 9.2) +- Resolves: bz#2196289 + (Fix number of ready channels on multifd) +- Resolves: bz#2168500 + ([IBM 9.3 FEAT] KVM: Improve memory reclaiming for z15 Secure Execution guests - qemu part) + +* Mon May 22 2023 Miroslav Rezanina - 8.0.0-4 +- kvm-migration-Attempt-disk-reactivation-in-more-failure-.patch [bz#2058982] +- kvm-util-mmap-alloc-qemu_fd_getfs.patch [bz#2057267] +- kvm-vl.c-Create-late-backends-before-migration-object.patch [bz#2057267] +- kvm-migration-postcopy-Detect-file-system-on-dest-host.patch [bz#2057267] +- kvm-migration-mark-mixed-functions-that-can-suspend.patch [bz#2057267] +- kvm-postcopy-ram-do-not-use-qatomic_mb_read.patch [bz#2057267] +- kvm-migration-remove-extra-whitespace-character-for-code.patch [bz#2057267] +- kvm-migration-Merge-ram_counters-and-ram_atomic_counters.patch [bz#2057267] +- kvm-migration-Update-atomic-stats-out-of-the-mutex.patch [bz#2057267] +- kvm-migration-Make-multifd_bytes-atomic.patch [bz#2057267] +- kvm-migration-Make-dirty_sync_missed_zero_copy-atomic.patch [bz#2057267] +- kvm-migration-Make-precopy_bytes-atomic.patch [bz#2057267] +- kvm-migration-Make-downtime_bytes-atomic.patch [bz#2057267] +- kvm-migration-Make-dirty_sync_count-atomic.patch [bz#2057267] +- kvm-migration-Make-postcopy_requests-atomic.patch [bz#2057267] +- kvm-migration-Rename-duplicate-to-zero_pages.patch [bz#2057267] +- kvm-migration-Rename-normal-to-normal_pages.patch [bz#2057267] +- kvm-migration-rename-enabled_capabilities-to-capabilitie.patch [bz#2057267] +- kvm-migration-Pass-migrate_caps_check-the-old-and-new-ca.patch [bz#2057267] +- kvm-migration-move-migration_global_dump-to-migration-hm.patch [bz#2057267] +- kvm-spice-move-client_migrate_info-command-to-ui.patch [bz#2057267] +- kvm-migration-Create-migrate_cap_set.patch [bz#2057267] +- kvm-migration-Create-options.c.patch [bz#2057267] +- kvm-migration-Move-migrate_colo_enabled-to-options.c.patch [bz#2057267] +- kvm-migration-Move-migrate_use_compression-to-options.c.patch [bz#2057267] +- kvm-migration-Move-migrate_use_events-to-options.c.patch [bz#2057267] +- kvm-migration-Move-migrate_use_multifd-to-options.c.patch [bz#2057267] +- kvm-migration-Move-migrate_use_zero_copy_send-to-options.patch [bz#2057267] +- kvm-migration-Move-migrate_use_xbzrle-to-options.c.patch [bz#2057267] +- kvm-migration-Move-migrate_use_block-to-options.c.patch [bz#2057267] +- kvm-migration-Move-migrate_use_return-to-options.c.patch [bz#2057267] +- kvm-migration-Create-migrate_rdma_pin_all-function.patch [bz#2057267] +- kvm-migration-Move-migrate_caps_check-to-options.c.patch [bz#2057267] +- kvm-migration-Move-qmp_query_migrate_capabilities-to-opt.patch [bz#2057267] +- kvm-migration-Move-qmp_migrate_set_capabilities-to-optio.patch [bz#2057267] +- kvm-migration-Move-migrate_cap_set-to-options.c.patch [bz#2057267] +- kvm-migration-Move-parameters-functions-to-option.c.patch [bz#2057267] +- kvm-migration-Use-migrate_max_postcopy_bandwidth.patch [bz#2057267] +- kvm-migration-Move-migrate_use_block_incremental-to-opti.patch [bz#2057267] +- kvm-migration-Create-migrate_throttle_trigger_threshold.patch [bz#2057267] +- kvm-migration-Create-migrate_checkpoint_delay.patch [bz#2057267] +- kvm-migration-Create-migrate_max_cpu_throttle.patch [bz#2057267] +- kvm-migration-Move-migrate_announce_params-to-option.c.patch [bz#2057267] +- kvm-migration-Create-migrate_cpu_throttle_initial-to-opt.patch [bz#2057267] +- kvm-migration-Create-migrate_cpu_throttle_increment-func.patch [bz#2057267] +- kvm-migration-Create-migrate_cpu_throttle_tailslow-funct.patch [bz#2057267] +- kvm-migration-Move-migrate_postcopy-to-options.c.patch [bz#2057267] +- kvm-migration-Create-migrate_max_bandwidth-function.patch [bz#2057267] +- kvm-migration-Move-migrate_use_tls-to-options.c.patch [bz#2057267] +- kvm-migration-Move-qmp_migrate_set_parameters-to-options.patch [bz#2057267] +- kvm-migration-Allow-postcopy_ram_supported_by_host-to-re.patch [bz#2057267] +- kvm-block-bdrv-blk_co_unref-for-calls-in-coroutine-conte.patch [bz#2185688] +- kvm-block-Don-t-call-no_coroutine_fns-in-qmp_block_resiz.patch [bz#2185688] +- kvm-iotests-Use-alternative-CPU-type-that-is-not-depreca.patch [bz#2185688] +- kvm-iotests-Test-resizing-image-attached-to-an-iothread.patch [bz#2185688] +- kvm-Enable-Linux-io_uring.patch [bz#1947230] +- Resolves: bz#2058982 + (Qemu core dump if cut off nfs storage during migration) +- Resolves: bz#2057267 + (Migration with postcopy fail when vm set with shared memory) +- Resolves: bz#2185688 + ([qemu-kvm] no response with QMP command block_resize) +- Resolves: bz#1947230 + (Enable QEMU support for io_uring in RHEL9) + +* Mon May 15 2023 Miroslav Rezanina - 8.0.0-3 +- kvm-migration-Handle-block-device-inactivation-failures-.patch [bz#2058982] +- kvm-migration-Minor-control-flow-simplification.patch [bz#2058982] +- Resolves: bz#2058982 + (Qemu core dump if cut off nfs storage during migration) + +* Mon May 08 2023 Miroslav Rezanina - 8.0.0-2 +- kvm-acpi-pcihp-allow-repeating-hot-unplug-requests.patch [bz#2087047] +- kvm-hw-acpi-limit-warning-on-acpi-table-size-to-pc-machi.patch [bz#1934134] +- kvm-hw-acpi-Mark-acpi-blobs-as-resizable-on-RHEL-pc-mach.patch [bz#1934134] +- Resolves: bz#2087047 + (Disk detach is unsuccessful while the guest is still booting) +- Resolves: bz#1934134 + (ACPI table limits warning when booting guest with 512 VCPUs) + +* Thu Apr 20 2023 Miroslav Rezanina - 8.0.0-1 +- Rebase to QEMU 8.0.0 +- Resolves: bz#2180898 + (Rebase to QEMU 8.0.0 for RHEL 9.3.0) * Mon Mar 20 2023 Miroslav Rezanina - 7.2.0-14 - Rebuild for 9.2 release @@ -2049,7 +2340,7 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ - Resolves: bz#2156876 ([virtual network][rhel7.9_guest] qemu-kvm: vhost vring error in virtqueue 1: Invalid argument (22)) -* Wed Mar 15 2023 MSVSphere Packaging Team - 7.0.0-13 +* Wed Mar 15 2023 MSVSphere Packaging Team - 7.2.0-12 - Rebuilt for MSVSphere 9.1. * Sun Mar 12 2023 Miroslav Rezanina - 7.2.0-12