This commit is contained in:
parent
09b242a5c7
commit
a1f1f66275
|
@ -0,0 +1,42 @@
|
||||||
|
From dd8ee9be472ddf799e63e035bf0c82f072dc1881 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Thomas Haller <thaller@redhat.com>
|
||||||
|
Date: Thu, 21 Jan 2016 15:03:44 +0100
|
||||||
|
Subject: [PATCH 1/1] wifi: assert against returning cached
|
||||||
|
NMSupplicantInterface instances
|
||||||
|
|
||||||
|
nm_supplicant_manager_iface_get() returning a cached instance leads to
|
||||||
|
a crash when the first owner releases the object, as no ownership is
|
||||||
|
transferred.
|
||||||
|
|
||||||
|
That was fixed on master by commit f1fba3eb02c5d102a1b0e85c371dce81e5bd0d3b.
|
||||||
|
Instead of backporting the entire refactoring (which also asserts against
|
||||||
|
reuse), just disallow reusing here.
|
||||||
|
|
||||||
|
The assertion should not be hit. If it would we need to investigate.
|
||||||
|
Also, this way the assertion avoids a hard crash.
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1298007
|
||||||
|
(cherry picked from commit bd27102277e5d7e52d87bd26711ae6c431e08192)
|
||||||
|
---
|
||||||
|
src/supplicant-manager/nm-supplicant-manager.c | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/supplicant-manager/nm-supplicant-manager.c b/src/supplicant-manager/nm-supplicant-manager.c
|
||||||
|
index 083f2eb..e31e726 100644
|
||||||
|
--- a/src/supplicant-manager/nm-supplicant-manager.c
|
||||||
|
+++ b/src/supplicant-manager/nm-supplicant-manager.c
|
||||||
|
@@ -93,7 +93,10 @@ nm_supplicant_manager_iface_get (NMSupplicantManager * self,
|
||||||
|
iface);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
- nm_log_dbg (LOGD_SUPPLICANT, "(%s): returning existing supplicant interface", ifname);
|
||||||
|
+ /* nm_supplicant_manager_iface_get() and release() implements no form of ref-counting
|
||||||
|
+ * to properly handle reusing a cached instance. It's also unclear whether that is
|
||||||
|
+ * even necessary or desired. Assert here and error out (rh #1298007). */
|
||||||
|
+ g_return_val_if_reached (NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
return iface;
|
||||||
|
--
|
||||||
|
2.5.0
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
%define ppp_version %(rpm -q ppp-devel >/dev/null && rpm -q --qf '%%{version}' ppp-devel || echo -n bad)
|
%define ppp_version %(rpm -q ppp-devel >/dev/null && rpm -q --qf '%%{version}' ppp-devel || echo -n bad)
|
||||||
|
|
||||||
%define snapshot %{nil}
|
%define snapshot %{nil}
|
||||||
%define release_version 2
|
%define release_version 3
|
||||||
%define realversion 1.0.10
|
%define realversion 1.0.10
|
||||||
%define epoch_version 1
|
%define epoch_version 1
|
||||||
|
|
||||||
|
@ -88,6 +88,7 @@ Patch0: 0000-explain-dns1-dns2.patch
|
||||||
|
|
||||||
# nm-1-0 backports
|
# nm-1-0 backports
|
||||||
Patch1: 0001-rh1294309-peer-device-route.patch
|
Patch1: 0001-rh1294309-peer-device-route.patch
|
||||||
|
Patch2: 0002-wifi-avoid-crash-reusing-supplicant-rh1298007.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
|
@ -365,6 +366,7 @@ by nm-connection-editor and nm-applet in a non-graphical environment.
|
||||||
%setup -q -n NetworkManager-%{realversion}
|
%setup -q -n NetworkManager-%{realversion}
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
|
@ -683,6 +685,9 @@ fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 2 2016 Thomas Haller <thaller@rehdat.com> - 1:1.0.10-3
|
||||||
|
- wifi: avoid crash when reusing supplicant instance (rh #1298007, rh #1241198)
|
||||||
|
|
||||||
* Tue Jan 5 2016 Thomas Haller <thaller@redhat.com> - 1:1.0.10-2
|
* Tue Jan 5 2016 Thomas Haller <thaller@redhat.com> - 1:1.0.10-2
|
||||||
- routes: fix handling device-routes for IPv4 peer-addresses (rh #1294309)
|
- routes: fix handling device-routes for IPv4 peer-addresses (rh #1294309)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue