diff --git a/libvirt.spec b/libvirt.spec index b6b12074517178386792d8a92fd497c0694cb27b..403f6c17aa9f7e83e703bc790b69f9cd2653e903 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -262,7 +262,7 @@ Summary: Library providing a simple virtualization API Name: libvirt Version: 9.10.0 -Release: 5 +Release: 6 License: LGPLv2+ URL: https://libvirt.org/ @@ -313,6 +313,7 @@ Patch0039: Fix-warnings-found-by-clang.patch Patch0040: Fix-off-by-one-error-in-udevListInterfacesByStatus.patch Patch0041: remote-check-for-negative-array-lengths-before-alloc.patch Patch0042: hotpatch-if-hotpatch_path-not-in-qemu.conf-the-hotpa.patch +Patch0043: remote_driver-Restore-special-behavior-of-remoteDoma.patch Requires: libvirt-daemon = %{version}-%{release} Requires: libvirt-daemon-config-network = %{version}-%{release} @@ -2606,6 +2607,9 @@ exit 0 %endif %changelog +* Mon Apr 29 2024 YageShen - 9.10.0-6 +- remote_driver: Restore special behavior of remoteDomainGetBlockIoTune() + * Wed Apr 10 2024 JiaboFeng - 9.10.0-5 - hotpatch: if hotpatch_path not in qemu.conf,the hotpatch doesn't antoload - remote: check for negative array lengths before allocation diff --git a/remote_driver-Restore-special-behavior-of-remoteDoma.patch b/remote_driver-Restore-special-behavior-of-remoteDoma.patch new file mode 100644 index 0000000000000000000000000000000000000000..e05b7e36a830e5adaddf8f638145e4b49660d0a3 --- /dev/null +++ b/remote_driver-Restore-special-behavior-of-remoteDoma.patch @@ -0,0 +1,45 @@ +From 65298ef17e3c16a6eeb2ea33671fa26633a0a7d9 Mon Sep 17 00:00:00 2001 +From: Michal Privoznik +Date: Mon, 29 Jan 2024 10:07:05 +0100 +Subject: [PATCH] remote_driver: Restore special behavior of + remoteDomainGetBlockIoTune() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In v9.10.0-rc1~103 the remote driver was switched to g_auto() for +client RPC return parameters. But whilst doing so a small bug +slipped in: previously, when virDomainGetBlockIoTune() was called +with *nparams == 0, the function set *nparams to the number of +supported params and zero was returned (so that client can +allocate memory and call the API second time). IOW - the usual, +old style of APIs where we didn't want to allocate memory on +caller's behalf. But because of this bug, a negative one is +returned instead. + +Fixes: 501825011c1fe80f458820c7efe5a198e0af9be5 +Signed-off-by: Michal Privoznik +Reviewed-by: Ján Tomko + +ref: https://github.com/libvirt/libvirt/commit/3a3f73ea9f1925ca5e256fa54c5aa451ddeaa19e +Signed-off-by: shenyage +--- + src/remote/remote_driver.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c +index 25fae1cad6..a1a0edd7a2 100644 +--- a/src/remote/remote_driver.c ++++ b/src/remote/remote_driver.c +@@ -2577,7 +2577,7 @@ static int remoteDomainGetBlockIoTune(virDomainPtr domain, + */ + if (*nparams == 0) { + *nparams = ret.nparams; +- return -1; ++ return 0; + } + + if (virTypedParamsDeserialize((struct _virTypedParameterRemote *) ret.params.params_val, +-- +2.43.0.windows.1 +