From 8bbfbb05ac0f24af7c2cd26fe15e1d7a64771ba4 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 28 Apr 2020 05:40:05 -0400 Subject: [PATCH] import ModemManager-1.10.8-2.el8 --- .ModemManager.metadata | 2 +- .gitignore | 2 +- ...chedule-flash-operation-as-soon-as-i.patch | 56 +++++++++++++++++++ SPECS/ModemManager.spec | 27 ++++++--- 4 files changed, 78 insertions(+), 9 deletions(-) create mode 100644 SOURCES/0002-port-serial-un-schedule-flash-operation-as-soon-as-i.patch diff --git a/.ModemManager.metadata b/.ModemManager.metadata index 4a7eaf0..7cd39c5 100644 --- a/.ModemManager.metadata +++ b/.ModemManager.metadata @@ -1 +1 @@ -5e91a6b9e671e54c500c68ec64c72908611b03fd SOURCES/ModemManager-1.10.4.tar.xz +fe7cd5772f30bd0a7139bd0fb6f584de1f636f39 SOURCES/ModemManager-1.10.8.tar.xz diff --git a/.gitignore b/.gitignore index 288aa17..4beef31 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/ModemManager-1.10.4.tar.xz +SOURCES/ModemManager-1.10.8.tar.xz diff --git a/SOURCES/0002-port-serial-un-schedule-flash-operation-as-soon-as-i.patch b/SOURCES/0002-port-serial-un-schedule-flash-operation-as-soon-as-i.patch new file mode 100644 index 0000000..07eb4f2 --- /dev/null +++ b/SOURCES/0002-port-serial-un-schedule-flash-operation-as-soon-as-i.patch @@ -0,0 +1,56 @@ +From 21e5b1d68336ec5a19f71e36c035e19d29623ca2 Mon Sep 17 00:00:00 2001 +From: Aleksander Morgado +Date: Tue, 31 Dec 2019 15:40:13 +0100 +Subject: [PATCH] port-serial: un-schedule flash operation as soon as it's + cancelled + +When a flash operation is started, it is always scheduled in an idle. +If this operation is cancelled, we should right away un-schedule it, +otherwise we may end up calling flash_do() with the GTask in the +private info already gone. + +See https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/178#note_330017 +--- + src/mm-port-serial.c | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/src/mm-port-serial.c b/src/mm-port-serial.c +index 3101ce6e..6d5ee1b1 100644 +--- a/src/mm-port-serial.c ++++ b/src/mm-port-serial.c +@@ -1744,18 +1744,28 @@ flash_cancel_cb (GTask *task) + void + mm_port_serial_flash_cancel (MMPortSerial *self) + { +- GTask *task; ++ FlashContext *ctx; ++ GTask *task; + + /* Do nothing if there is no flash task */ + if (!self->priv->flash_task) + return; + +- /* Recover task and schedule it to be cancelled in an idle. ++ /* Recover task */ ++ task = self->priv->flash_task; ++ self->priv->flash_task = NULL; ++ ++ /* If flash operation is scheduled, unschedule it */ ++ ctx = g_task_get_task_data (task); ++ if (ctx->flash_id) { ++ g_source_remove (ctx->flash_id); ++ ctx->flash_id = 0; ++ } ++ ++ /* Schedule task to be cancelled in an idle. + * We do NOT want this cancellation to happen right away, + * because the object reference in the flashing task may + * be the last one valid. */ +- task = self->priv->flash_task; +- self->priv->flash_task = NULL; + g_idle_add ((GSourceFunc)flash_cancel_cb, task); + } + +-- +2.24.1 + diff --git a/SPECS/ModemManager.spec b/SPECS/ModemManager.spec index aa7ab95..8c50d27 100644 --- a/SPECS/ModemManager.spec +++ b/SPECS/ModemManager.spec @@ -6,10 +6,11 @@ Summary: Mobile broadband modem management service Name: ModemManager -Version: 1.10.4 -Release: 1%{?dist} +Version: 1.10.8 +Release: 2%{?dist} Source: https://www.freedesktop.org/software/ModemManager/%{name}-%{version}.tar.xz Patch0: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/commit/fd1a26fc36df.patch#/0001-plugin-ignore-unwanted-net-ports.patch +Patch1: 0002-port-serial-un-schedule-flash-operation-as-soon-as-i.patch License: GPLv2+ Group: System Environment/Base @@ -40,7 +41,7 @@ BuildRequires: vala BuildRequires: dbus BuildRequires: systemd-devel >= 209 BuildRequires: gettext-devel >= 0.19.8 -BuildRequires: dbus-daemon +BuildRequires: /usr/bin/dbus-daemon %global __provides_exclude ^libmm-plugin- @@ -92,6 +93,7 @@ Vala bindings for ModemManager %prep %setup -q %patch0 -p1 +%patch1 -p1 %build # Regenerate configure, because the one that is shipped @@ -111,13 +113,13 @@ autoreconf -i --force --with-polkit=no \ --with-dist-version=%{version}-%{release} -make %{?_smp_mflags} +%make_build %check make check %install -make install DESTDIR=%{buildroot} +%make_install rm -f %{buildroot}%{_libdir}/*.la rm -f %{buildroot}%{_libdir}/%{name}/*.la @@ -135,19 +137,21 @@ touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %postun %if 0%{?rhel} && 0%{?rhel} <= 7 +/sbin/ldconfig if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor &>/dev/null gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi %endif -%systemd_postun +%systemd_postun ModemManager.service %if 0%{?rhel} && 0%{?rhel} <= 7 %posttrans gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %endif -%ldconfig_scriptlets glib +%post glib -p /sbin/ldconfig +%postun glib -p /sbin/ldconfig %files -f %{name}.lang %doc COPYING README @@ -189,6 +193,15 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/vala/vapi/libmm-glib.* %changelog +* Fri Feb 14 2020 Antonio Cardace - 1.10.8-2 +- Fix race condition when cancelling a flash operation (rh #1758128) + +* Fri Nov 29 2019 Lubomir Rintel - 1.10.8-1 +- Update to 1.10.8 release + +* Wed Oct 16 2019 Lubomir Rintel - 1.10.6-1 +- Update to 1.10.6 release + * Wed Jul 10 2019 Lubomir Rintel - 1.10.4-1 - Update to 1.10.2 release (rh #1543498)