#4 Update to v10.10.0 for hyperscale release
Opened 9 hours ago by render. Modified 9 hours ago

@@ -1,41 +0,0 @@ 

- From 3499354e12a1c1832bf4030693a64e03ceb79d05 Mon Sep 17 00:00:00 2001

- From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>

- 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 <pkrempa@redhat.com>

- Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>

- ---

-  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

- 

@@ -1,49 +0,0 @@ 

- From 98f1cf88fa7e0f992d93f376418fbfb3996a9690 Mon Sep 17 00:00:00 2001

- From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>

- 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 <mprivozn@redhat.com>

- Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>

- ---

-  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

- 

file modified
+89 -37
@@ -6,7 +6,7 @@ 

  %define min_rhel 8

  %define min_fedora 37

  

- %define arches_qemu_kvm         %{ix86} x86_64 %{power64} %{arm} aarch64 s390x

+ %define arches_qemu_kvm         %{ix86} x86_64 %{power64} %{arm} aarch64 s390x riscv64

  %if 0%{?rhel}

      %if 0%{?rhel} > 8

          %define arches_qemu_kvm     x86_64 aarch64 s390x
@@ -19,7 +19,7 @@ 

  %define arches_x86              %{ix86} x86_64

  

  %define arches_systemtap_64bit  %{arches_64bit}

- %define arches_dmidecode        %{arches_x86}

+ %define arches_dmidecode        %{arches_x86} aarch64 riscv64

  %define arches_xen              %{arches_x86} aarch64

  %if 0%{?fedora}

      %define arches_xen          x86_64 aarch64
@@ -215,8 +215,6 @@ 

      %define firewall_backend_priority iptables,nftables

  %endif

  

- 

- 

  # Force QEMU to run as non-root

  %define qemu_user  qemu

  %define qemu_group  qemu
@@ -286,10 +284,16 @@ 

      done \

      %{nil}

  

+ # To prevent rpmdev-bumpspec breakage

+ %global baserelease 1

+ 

+ # Hyperscale release

+ %global hsrel .1

+ 

  Summary: Library providing a simple virtualization API

  Name: libvirt

- Version: 10.4.0

- Release: 2%{?dist}

+ Version: 10.10.0

+ Release: %{baserelease}%{?hsrel}%{?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 +301,6 @@ 

      %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}
@@ -363,7 +365,7 @@ 

  BuildRequires: augeas

  BuildRequires: systemd-devel >= 185

  BuildRequires: libpciaccess-devel >= 0.10.9

- BuildRequires: yajl-devel

+ BuildRequires: json-c-devel

      %if %{with_sanlock}

  BuildRequires: sanlock-devel >= 2.4

      %endif
@@ -427,12 +429,10 @@ 

  BuildRequires: libwsman-devel >= 2.6.3

      %endif

  BuildRequires: audit-libs-devel

- # we need /usr/sbin/dtrace

  BuildRequires: systemtap-sdt-devel

+ BuildRequires: /usr/bin/dtrace

  # For mount/umount in FS driver

  BuildRequires: util-linux

- # For showmount in FS driver (netfs discovery)

- BuildRequires: nfs-utils

      %if %{with_numad}

  BuildRequires: numad

      %endif
@@ -671,7 +671,7 @@ 

  Summary: Storage driver plugin including base backends for the libvirtd daemon

  Requires: libvirt-daemon-common = %{version}-%{release}

  Requires: libvirt-libs = %{version}-%{release}

- Requires: nfs-utils

+ Recommends: nfs-utils

  # For mkfs

  Requires: util-linux

  # For storage wiping with different algorithms
@@ -833,7 +833,11 @@ 

  Requires: xz

  Requires: zstd

  Requires: systemd-container

+         %if 0%{?facebook}

+ Recommends: swtpm-tools

+         %else

  Requires: swtpm-tools

+         %endif

          %if %{with_numad}

  Requires: numad

          %endif
@@ -949,7 +953,13 @@ 

  Requires: libvirt-daemon-driver-secret = %{version}-%{release}

  Requires: libvirt-daemon-driver-storage = %{version}-%{release}

  Requires: libvirt-ssh-proxy = %{version}-%{release}

+ 

+ # relax requirement for qemu-kvm for fb builds

+ %if 0%{?facebook}

+ Recommends: qemu-kvm

+ %else

  Requires: qemu-kvm

+ %endif

  

  %description daemon-kvm

  Server side daemon and driver required to manage the virtualization
@@ -997,7 +1007,6 @@ 

  Requires: libvirt-daemon-driver-interface = %{version}-%{release}

  Requires: libvirt-daemon-driver-network = %{version}-%{release}

  Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}

- Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}

  Requires: libvirt-daemon-driver-secret = %{version}-%{release}

  Requires: libvirt-daemon-driver-storage = %{version}-%{release}

  Requires: xen
@@ -1034,8 +1043,6 @@ 

  %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 +1064,6 @@ 

  

  %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 +1336,8 @@ 

  %meson \

             -Drunstatedir=%{_rundir} \

             -Dinitconfdir=%{_sysconfdir}/sysconfig \

+            -Dunitdir=%{_unitdir} \

+            -Dsysusersdir=%{_sysusersdir} \

             %{?arg_qemu} \

             %{?arg_openvz} \

             %{?arg_lxc} \
@@ -1373,7 +1380,7 @@ 

             -Dapparmor_profiles=disabled \

             -Dsecdriver_apparmor=disabled \

             -Dudev=enabled \

-            -Dyajl=enabled \

+            -Djson_c=enabled \

             %{?arg_sanlock} \

             -Dlibpcap=enabled \

             %{?arg_nbdkit} \
@@ -1445,6 +1452,7 @@ 

    -Dfuse=disabled \

    -Dglusterfs=disabled \

    -Dhost_validate=disabled \

+   -Djson_c=disabled \

    -Dlibiscsi=disabled \

    -Dnbdkit=disabled \

    -Dnbdkit_config_default=disabled \
@@ -1487,8 +1495,8 @@ 

    -Dtests=disabled \

    -Dudev=disabled \

    -Dwireshark_dissector=disabled \

-   -Dyajl=disabled

-     %mingw_ninja

+   %{?enable_werror}

+ %mingw_ninja

  %endif

  

  %install
@@ -1594,7 +1602,7 @@ 

  %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

  
@@ -2033,7 +2041,9 @@ 

  %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf

  %config(noreplace) %{_prefix}/lib/sysctl.d/60-libvirtd.conf

  %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd

+ %dir %{_datadir}/augeas/lenses

  %{_datadir}/augeas/lenses/libvirtd.aug

+ %dir %{_datadir}/augeas/lenses/tests

  %{_datadir}/augeas/lenses/tests/test_libvirtd.aug

  %attr(0755, root, root) %{_sbindir}/libvirtd

  %{_mandir}/man8/libvirtd.8*
@@ -2044,7 +2054,7 @@ 

  %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf

  %dir %{_datadir}/libvirt/

  %ghost %dir %{_rundir}/libvirt/

- %ghost %dir %{_rundir}/libvirt/common/

+ %ghost %dir %attr(0700, root, root) %{_rundir}/libvirt/common/

  %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/

  %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/

  %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/filesystems/
@@ -2130,7 +2140,7 @@ 

  %{_unitdir}/virtinterfaced-ro.socket

  %{_unitdir}/virtinterfaced-admin.socket

  %attr(0755, root, root) %{_sbindir}/virtinterfaced

- %ghost %dir %{_rundir}/libvirt/interface/

+ %ghost %dir %attr(0700, root, root) %{_rundir}/libvirt/interface/

  %{_libdir}/libvirt/connection-driver/libvirt_driver_interface.so

  %{_mandir}/man8/virtinterfaced.8*

  
@@ -2172,7 +2182,7 @@ 

  %{_unitdir}/virtnodedevd-ro.socket

  %{_unitdir}/virtnodedevd-admin.socket

  %attr(0755, root, root) %{_sbindir}/virtnodedevd

- %ghost %dir %{_rundir}/libvirt/nodedev/

+ %ghost %dir %attr(0700, root, root) %{_rundir}/libvirt/nodedev/

  %{_libdir}/libvirt/connection-driver/libvirt_driver_nodedev.so

  %{_mandir}/man8/virtnodedevd.8*

  
@@ -2187,8 +2197,8 @@ 

  %attr(0755, root, root) %{_sbindir}/virtnwfilterd

  %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/

  %ghost %dir %{_rundir}/libvirt/network/

- %ghost %dir %{_rundir}/libvirt/nwfilter-binding/

- %ghost %dir %{_rundir}/libvirt/nwfilter/

+ %ghost %dir %attr(0700, root, root) %{_rundir}/libvirt/nwfilter-binding/

+ %ghost %dir %attr(0700, root, root) %{_rundir}/libvirt/nwfilter/

  %{_libdir}/libvirt/connection-driver/libvirt_driver_nwfilter.so

  %{_mandir}/man8/virtnwfilterd.8*

  
@@ -2202,7 +2212,7 @@ 

  %{_unitdir}/virtsecretd-admin.socket

  %attr(0755, root, root) %{_sbindir}/virtsecretd

  %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/secrets/

- %ghost %dir %{_rundir}/libvirt/secrets/

+ %ghost %dir %attr(0700, root, root) %{_rundir}/libvirt/secrets/

  %{_libdir}/libvirt/connection-driver/libvirt_driver_secret.so

  %{_mandir}/man8/virtsecretd.8*

  
@@ -2281,11 +2291,11 @@ 

  %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf

  %config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf

  %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu

- %ghost %dir %{_rundir}/libvirt/qemu/

- %ghost %dir %{_rundir}/libvirt/qemu/dbus/

- %ghost %dir %{_rundir}/libvirt/qemu/passt/

- %ghost %dir %{_rundir}/libvirt/qemu/slirp/

- %ghost %dir %{_rundir}/libvirt/qemu/swtpm/

+ %ghost %dir %attr(0755, %{qemu_user}, %{qemu_group}) %{_rundir}/libvirt/qemu/

+ %ghost %dir %attr(0770, %{qemu_user}, %{qemu_group}) %{_rundir}/libvirt/qemu/dbus/

+ %ghost %dir %attr(0755, %{qemu_user}, %{qemu_group}) %{_rundir}/libvirt/qemu/passt/

+ %ghost %dir %attr(0755, %{qemu_user}, %{qemu_group}) %{_rundir}/libvirt/qemu/slirp/

+ %ghost %dir %attr(0770, %{qemu_user}, %{qemu_group}) %{_rundir}/libvirt/qemu/swtpm/

  %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/

  %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/checkpoint/

  %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/dump/
@@ -2439,15 +2449,17 @@ 

  %{_libdir}/libvirt-lxc.so.*

  %{_libdir}/libvirt-admin.so.*

  %dir %{_datadir}/libvirt/

+ %{_datadir}/libvirt/test-screenshot.png

  %dir %{_datadir}/libvirt/schemas/

+ %{_datadir}/libvirt/schemas/*.rng

+ %dir %{_datadir}/systemtap/tapset/

  %{_datadir}/systemtap/tapset/libvirt_probes*.stp

  %{_datadir}/systemtap/tapset/libvirt_functions.stp

      %if %{with_qemu}

  %{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp

      %endif

- %{_datadir}/libvirt/schemas/*.rng

+ %dir %{_datadir}/libvirt/cpu_map

  %{_datadir}/libvirt/cpu_map/*.xml

- %{_datadir}/libvirt/test-screenshot.png

  

      %if %{with_wireshark}

  %files wireshark
@@ -2515,7 +2527,7 @@ 

  %{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 +2586,7 @@ 

  %{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
@@ -2623,7 +2635,43 @@ 

  %{mingw64_mandir}/man7/virkey*.7*

  %endif

  

+ 

  %changelog

+ * Fri Dec 20 2024 Roberto Campesato <render@metalabs.org> - 10.10.0-1.1

+ - Merge latest changes from Fedora

+ 

+ * Mon Dec 02 2024 Cole Robinson <crobinso@redhat.com> - 10.10.0-1

+ - Update to version 10.10.0

+ 

+ * Fri Nov  1 2024 Daniel P. Berrangé <berrange@redhat.com> - 10.9.0-1

+ - Update to version 10.9.0

+ 

+ * Tue Oct 01 2024 Cole Robinson <crobinso@redhat.com> - 10.8.0-1

+ - Update to version 10.8.0

+ 

+ * Mon Sep 02 2024 Cole Robinson <crobinso@redhat.com> - 10.7.0-1

+ - Update to version 10.7.0

+ 

+ * Tue Aug 27 2024 Cole Robinson <crobinso@redhat.com> - 10.6.0-2

+ - Fix `virsh domifaddr --source=arp` on kernel 6.10 (bz #2302245)

+ - Add new systemtap-sdt-dtrace to build deps

+ 

+ * Tue Aug 06 2024 Cole Robinson <crobinso@redhat.com> - 10.6.0-1

+ - Update to version 10.6.0

+ 

+ * Mon Aug 05 2024 Richard W.M. Jones <rjones@redhat.com> - 10.5.0-3

+ - Rebuild for Xen 4.19.0

+ 

+ * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 10.5.0-2

+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

+ 

+ * Thu Jul  4 2024 Daniel P. Berrangé <berrange@redhat.com> - 10.5.0-1

+ - Rebase to 10.5.0 release

+ 

+ * Wed Jun 14 2024 Roberto Campesato <render@metalabs.org> - 10.4.0-2.1

+ - Update to version 10.4.0

+ - Relax dependency on swtpm-tools for facebook builds

+ 

  * Wed Jun  5 2024 Daniel P. Berrangé <berrange@redhat.com> - 10.4.0-2

  - Fix leak of GSource handle

  - Fix leak of udev reference (rhbz #2266017)
@@ -2642,6 +2690,10 @@ 

  * Fri Apr 05 2024 Cole Robinson <crobinso@redhat.com> - 10.2.0-1

  - Update to version 10.2.0

  

+ * Wed Mar 27 2024 Roberto Campesato <render@metalabs.org> - 10.1.0-1.1

+ - Update to version 10.1.0

+ - Relax dependency on qemu-kvm for facebook builds

+ 

  * Fri Mar 01 2024 Cole Robinson <crobinso@redhat.com> - 10.1.0-1

  - Update to version 10.1.0

  

file modified
+1 -1
@@ -1,1 +1,1 @@ 

- SHA512 (libvirt-10.4.0.tar.xz) = 711be39f3fb831a5073b25a5b02410676147114f3dcf85b24c8505b611a81bf64cf3b95f66908e0dc3a2f3e66e5fc31b2d95db610ea3f1b747a9fd1f52b1ffa7

+ SHA512 (libvirt-10.10.0.tar.xz) = b4e8a5f7d5c15387e5f3e82ac9661feb6e89c6b3b13d869bca63d9686e1e1e8d193a1fc84a19a09b3da1c868837ee76d1b3964a6e5f7ad5d669449b0a6aa4b53