QEMU update to version 6.2.0-79(master)

- test: Fix test-crypto-secret when compiling without keyring support
- aio-posix: fix build failure io_uring 2.2

Signed-off-by: Jiabo Feng <fengjiabo1@huawei.com>
This commit is contained in:
Jiabo Feng 2023-08-28 19:20:24 +08:00
parent b239b0b2d5
commit 7188b42174
3 changed files with 135 additions and 1 deletions

View File

@ -0,0 +1,56 @@
From f900bc66931458b824274027417b6375610c8d9a Mon Sep 17 00:00:00 2001
From: Haiyue Wang <haiyue.wang@intel.com>
Date: Tue, 22 Feb 2022 00:24:01 +0800
Subject: [PATCH] aio-posix: fix build failure io_uring 2.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The io_uring fixed "Don't truncate addr fields to 32-bit on 32-bit":
https://git.kernel.dk/cgit/liburing/commit/?id=d84c29b19ed0b130000619cff40141bb1fc3615b
This leads to build failure:
../util/fdmon-io_uring.c: In function add_poll_remove_sqe:
../util/fdmon-io_uring.c:182:36: error: passing argument 2 of io_uring_prep_poll_remove makes integer from pointer without a cast [-Werror=int-conversion]
182 | io_uring_prep_poll_remove(sqe, node);
| ^~~~
| |
| AioHandler *
In file included from /root/io/qemu/include/block/aio.h:18,
from ../util/aio-posix.h:20,
from ../util/fdmon-io_uring.c:49:
/usr/include/liburing.h:415:17: note: expected __u64 {aka long long unsigned int} but argument is of type AioHandler *
415 | __u64 user_data)
| ~~~~~~^~~~~~~~~
cc1: all warnings being treated as errors
Use LIBURING_HAVE_DATA64 to check whether the io_uring supports 64-bit
variants of the get/set userdata, to convert the paramter to the right
data type.
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
Message-Id: <20220221162401.45415-1-haiyue.wang@intel.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
util/fdmon-io_uring.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/util/fdmon-io_uring.c b/util/fdmon-io_uring.c
index 1461dfa407..ab43052dd7 100644
--- a/util/fdmon-io_uring.c
+++ b/util/fdmon-io_uring.c
@@ -179,7 +179,11 @@ static void add_poll_remove_sqe(AioContext *ctx, AioHandler *node)
{
struct io_uring_sqe *sqe = get_sqe(ctx);
+#ifdef LIBURING_HAVE_DATA64
+ io_uring_prep_poll_remove(sqe, (__u64)(uintptr_t)node);
+#else
io_uring_prep_poll_remove(sqe, node);
+#endif
}
/* Add a timeout that self-cancels when another cqe becomes ready */
--
2.41.0.windows.1

View File

@ -3,7 +3,7 @@
Name: qemu Name: qemu
Version: 6.2.0 Version: 6.2.0
Release: 78 Release: 79
Epoch: 10 Epoch: 10
Summary: QEMU is a generic and open source machine emulator and virtualizer Summary: QEMU is a generic and open source machine emulator and virtualizer
License: GPLv2 and BSD and MIT and CC-BY-SA-4.0 License: GPLv2 and BSD and MIT and CC-BY-SA-4.0
@ -553,6 +553,8 @@ Patch0538: qga-Fix-suspend-on-Linux-guests-without-systemd.patch
Patch0539: vhost-vdpa-do-not-cleanup-the-vdpa-vhost-net-structu.patch Patch0539: vhost-vdpa-do-not-cleanup-the-vdpa-vhost-net-structu.patch
Patch0540: virtio-crypto-verify-src-dst-buffer-length-for-sym-r.patch Patch0540: virtio-crypto-verify-src-dst-buffer-length-for-sym-r.patch
Patch0541: sw_64-Added-sw64-architecture-related-updates.patch Patch0541: sw_64-Added-sw64-architecture-related-updates.patch
Patch0542: aio-posix-fix-build-failure-io_uring-2.2.patch
Patch0543: test-Fix-test-crypto-secret-when-compiling-without-k.patch
BuildRequires: flex BuildRequires: flex
BuildRequires: gcc BuildRequires: gcc
@ -1126,6 +1128,10 @@ getent passwd qemu >/dev/null || \
%endif %endif
%changelog %changelog
* Mon Aug 28 2023 <fengjiabo1@huawei.com> - 10:6.2.0-79
- test: Fix test-crypto-secret when compiling without keyring support
- aio-posix: fix build failure io_uring 2.2
* Tue Aug 15 2023 <fengjiabo1@huawei.com> - 10:6.2.0-78 * Tue Aug 15 2023 <fengjiabo1@huawei.com> - 10:6.2.0-78
- sw_64: Added sw64 architecture related updates - sw_64: Added sw64 architecture related updates
- virtio-crypto: verify src&dst buffer length for sym request - virtio-crypto: verify src&dst buffer length for sym request

View File

@ -0,0 +1,72 @@
From edf3134ef2f98c7fd79f54a467631f091e52a980 Mon Sep 17 00:00:00 2001
From: Juan Quintela <quintela@redhat.com>
Date: Fri, 14 Apr 2023 13:42:52 +0200
Subject: [PATCH] test: Fix test-crypto-secret when compiling without keyring
support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Linux keyring support is protected by CONFIG_KEYUTILS.
We also need CONFIG_SECRET_KEYRING.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-Id: <20230414114252.1136-1-quintela@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/unit/test-crypto-secret.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tests/unit/test-crypto-secret.c b/tests/unit/test-crypto-secret.c
index 34a4aecc12..147b4af828 100644
--- a/tests/unit/test-crypto-secret.c
+++ b/tests/unit/test-crypto-secret.c
@@ -24,7 +24,7 @@
#include "crypto/secret.h"
#include "qapi/error.h"
#include "qemu/module.h"
-#ifdef CONFIG_KEYUTILS
+#if defined(CONFIG_KEYUTILS) && defined(CONFIG_SECRET_KEYRING)
#include "crypto/secret_keyring.h"
#include <keyutils.h>
#endif
@@ -128,7 +128,7 @@ static void test_secret_indirect_emptyfile(void)
g_free(fname);
}
-#ifdef CONFIG_KEYUTILS
+#if defined(CONFIG_KEYUTILS) && defined(CONFIG_SECRET_KEYRING)
#define DESCRIPTION "qemu_test_secret"
#define PAYLOAD "Test Payload"
@@ -268,7 +268,7 @@ static void test_secret_keyring_bad_key_access_right(void)
keyctl_unlink(key, KEY_SPEC_PROCESS_KEYRING);
}
-#endif /* CONFIG_KEYUTILS */
+#endif /* CONFIG_KEYUTILS && CONFIG_SECRET_KEYRING */
static void test_secret_noconv_base64_good(void)
{
@@ -571,7 +571,7 @@ int main(int argc, char **argv)
g_test_add_func("/crypto/secret/indirect/emptyfile",
test_secret_indirect_emptyfile);
-#ifdef CONFIG_KEYUTILS
+#if defined(CONFIG_KEYUTILS) && defined(CONFIG_SECRET_KEYRING)
g_test_add_func("/crypto/secret/keyring/good",
test_secret_keyring_good);
g_test_add_func("/crypto/secret/keyring/revoked_key",
@@ -582,7 +582,7 @@ int main(int argc, char **argv)
test_secret_keyring_bad_serial_key);
g_test_add_func("/crypto/secret/keyring/bad_key_access_right",
test_secret_keyring_bad_key_access_right);
-#endif /* CONFIG_KEYUTILS */
+#endif /* CONFIG_KEYUTILS && CONFIG_SECRET_KEYRING */
g_test_add_func("/crypto/secret/noconv/base64/good",
test_secret_noconv_base64_good);
--
2.41.0.windows.1