From 0862e2b778011ac14477641f94020a2203e4603e Mon Sep 17 00:00:00 2001 From: Daniel P. Berrangé Date: Jul 04 2024 09:31:26 +0000 Subject: Rebase to 10.5.0 release Signed-off-by: Daniel P. Berrangé --- diff --git a/0001-interface-fix-udev-reference-leak-with-invalid-flags.patch b/0001-interface-fix-udev-reference-leak-with-invalid-flags.patch deleted file mode 100644 index cdc4a2b..0000000 --- a/0001-interface-fix-udev-reference-leak-with-invalid-flags.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 3499354e12a1c1832bf4030693a64e03ceb79d05 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= -Date: Wed, 5 Jun 2024 11:16:21 +0100 -Subject: [PATCH] interface: fix udev reference leak with invalid flags -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The udevInterfaceGetXMLDesc method takes a reference on the udev -driver as its first action. If the virCheckFlags() condition -fails, however, this reference is never released. - -Reviewed-by: Peter Krempa -Signed-off-by: Daniel P. Berrangé ---- - src/interface/interface_backend_udev.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/interface/interface_backend_udev.c b/src/interface/interface_backend_udev.c -index fdf11a8318..e1a50389c9 100644 ---- a/src/interface/interface_backend_udev.c -+++ b/src/interface/interface_backend_udev.c -@@ -1027,12 +1027,14 @@ static char * - udevInterfaceGetXMLDesc(virInterfacePtr ifinfo, - unsigned int flags) - { -- struct udev *udev = udev_ref(driver->udev); -+ struct udev *udev = NULL; - g_autoptr(virInterfaceDef) ifacedef = NULL; - char *xmlstr = NULL; - - virCheckFlags(VIR_INTERFACE_XML_INACTIVE, NULL); - -+ udev = udev_ref(driver->udev); -+ - /* Recursively build up the interface XML based on the requested - * interface name - */ --- -2.45.1 - diff --git a/0001-rpc-avoid-leak-of-GSource-in-use-for-interrupting-ma.patch b/0001-rpc-avoid-leak-of-GSource-in-use-for-interrupting-ma.patch deleted file mode 100644 index afa729d..0000000 --- a/0001-rpc-avoid-leak-of-GSource-in-use-for-interrupting-ma.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 98f1cf88fa7e0f992d93f376418fbfb3996a9690 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= -Date: Fri, 17 May 2024 14:55:24 +0100 -Subject: [PATCH] rpc: avoid leak of GSource in use for interrupting main loop -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -We never release the reference on the GSource created for -interrupting the main loop, nor do we remove it from the -main context if our thread is woken up prior to the wakeup -callback firing. - -This can result in a leak of GSource objects, along with an -ever growing list of GSources attached to the main context, -which will gradually slow down execution of the loop, as -several operations are O(N) for the number of attached GSource -objects. - -Reviewed-by: Michal Privoznik -Signed-off-by: Daniel P. Berrangé ---- - src/rpc/virnetclient.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/rpc/virnetclient.c b/src/rpc/virnetclient.c -index 147b0d661a..6d424eb599 100644 ---- a/src/rpc/virnetclient.c -+++ b/src/rpc/virnetclient.c -@@ -1946,7 +1946,7 @@ static int virNetClientIO(virNetClient *client, - /* Check to see if another thread is dispatching */ - if (client->haveTheBuck) { - /* Force other thread to wakeup from poll */ -- GSource *wakeup = g_idle_source_new(); -+ g_autoptr(GSource) wakeup = g_idle_source_new(); - g_source_set_callback(wakeup, virNetClientIOWakeup, client->eventLoop, NULL); - g_source_attach(wakeup, client->eventCtx); - -@@ -1968,6 +1968,7 @@ static int virNetClientIO(virNetClient *client, - return -1; - } - -+ g_source_destroy(wakeup); - VIR_DEBUG("Woken up from sleep head=%p call=%p", - client->waitDispatch, thiscall); - /* Three reasons we can be woken up --- -2.45.1 - diff --git a/libvirt.spec b/libvirt.spec index 2fe3ad7..751fed8 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -288,8 +288,8 @@ Summary: Library providing a simple virtualization API Name: libvirt -Version: 10.4.0 -Release: 2%{?dist} +Version: 10.5.0 +Release: 1%{?dist} License: GPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OFL-1.1 URL: https://libvirt.org/ @@ -297,8 +297,6 @@ URL: https://libvirt.org/ %define mainturl stable_updates/ %endif Source: https://download.libvirt.org/%{?mainturl}libvirt-%{version}.tar.xz -Patch2: 0001-rpc-avoid-leak-of-GSource-in-use-for-interrupting-ma.patch -Patch3: 0001-interface-fix-udev-reference-leak-with-invalid-flags.patch Requires: libvirt-daemon = %{version}-%{release} Requires: libvirt-daemon-config-network = %{version}-%{release} @@ -1034,8 +1032,6 @@ capabilities of VirtualBox %package client Summary: Client side utilities of the libvirt library Requires: libvirt-libs = %{version}-%{release} -# Needed by virt-pki-validate script. -Requires: gnutls-utils # Ensure smooth upgrades Obsoletes: libvirt-bash-completion < 7.3.0 @@ -1057,8 +1053,6 @@ with some QEMU specific features of libvirt. %package libs Summary: Client side libraries -# So remote clients can access libvirt over SSH tunnel -Requires: cyrus-sasl # Needed by default sasl.conf - no onerous extra deps, since # 100's of other things on a system already pull in krb5-libs Requires: cyrus-sasl-gssapi @@ -1331,6 +1325,8 @@ export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/libvirt.spec) %meson \ -Drunstatedir=%{_rundir} \ -Dinitconfdir=%{_sysconfdir}/sysconfig \ + -Dunitdir=%{_unitdir} \ + -Dsysusersdir=%{_sysusersdir} \ %{?arg_qemu} \ %{?arg_openvz} \ %{?arg_lxc} \ @@ -1487,8 +1483,9 @@ export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/libvirt.spec) -Dtests=disabled \ -Dudev=disabled \ -Dwireshark_dissector=disabled \ - -Dyajl=disabled - %mingw_ninja + -Dyajl=disabled \ + %{?enable_werror} +%mingw_ninja %endif %install @@ -1594,7 +1591,7 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh %if %{with_native} # Building on slow archs, like emulated s390x in Fedora copr, requires # raising the test timeout -VIR_TEST_DEBUG=1 +export VIR_TEST_DEBUG=1 %meson_test --no-suite syntax-check --timeout-multiplier 10 %endif @@ -2515,7 +2512,7 @@ exit 0 %{mingw32_bindir}/virt-admin.exe %{mingw32_bindir}/virt-xml-validate %{mingw32_bindir}/virt-pki-query-dn.exe -%{mingw32_bindir}/virt-pki-validate +%{mingw32_bindir}/virt-pki-validate.exe %{mingw32_bindir}/libvirt-lxc-0.dll %{mingw32_bindir}/libvirt-qemu-0.dll %{mingw32_bindir}/libvirt-admin-0.dll @@ -2574,7 +2571,7 @@ exit 0 %{mingw64_bindir}/virt-admin.exe %{mingw64_bindir}/virt-xml-validate %{mingw64_bindir}/virt-pki-query-dn.exe -%{mingw64_bindir}/virt-pki-validate +%{mingw64_bindir}/virt-pki-validate.exe %{mingw64_bindir}/libvirt-lxc-0.dll %{mingw64_bindir}/libvirt-qemu-0.dll %{mingw64_bindir}/libvirt-admin-0.dll @@ -2624,6 +2621,9 @@ exit 0 %endif %changelog +* Thu Jul 4 2024 Daniel P. Berrangé - 10.5.0-1 +- Rebase to 10.5.0 release + * Wed Jun 5 2024 Daniel P. Berrangé - 10.4.0-2 - Fix leak of GSource handle - Fix leak of udev reference (rhbz #2266017) diff --git a/sources b/sources index f84031b..37d1b88 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libvirt-10.4.0.tar.xz) = 711be39f3fb831a5073b25a5b02410676147114f3dcf85b24c8505b611a81bf64cf3b95f66908e0dc3a2f3e66e5fc31b2d95db610ea3f1b747a9fd1f52b1ffa7 +SHA512 (libvirt-10.5.0.tar.xz) = e4976849cff7bdae0b7fda0644490f0ca743efc11c35a2fae45bb0f6f467b85644c1d04d1f3d1b10affdc6d9b8dcc0a3c255e527e0bdd73cdd4d1c81d5c418e7