diff --git a/NetworkManager-0.9.8.10-libnl-3.2.25.patch b/NetworkManager-0.9.8.10-libnl-3.2.25.patch new file mode 100644 index 0000000..1111e6c --- /dev/null +++ b/NetworkManager-0.9.8.10-libnl-3.2.25.patch @@ -0,0 +1,49 @@ +From 8e4576b9fdb5c888d20a13aa2cc198df790dba54 Mon Sep 17 00:00:00 2001 +From: Thomas Haller +Date: Fri, 18 Jul 2014 13:34:33 +0200 +Subject: netlink: fix crash in netlink-monitor validating netlink messages + +The wrong callback data pointer was passed to the netlink message +validation function. + +Since libnl commit 4dd5fdd0af2c0b7ffe1dbc49313f263dbb2e906f, +nl_socket_get_local_port() actually modifes the provided @sk +pointer. Hence, since libnl 3.2.25 NM will crash due to +this bug. + + #0 _nl_socket_generate_local_port_no_release (sk=0x715500) at socket.c:339 + #1 0x00007ffff76f3ad5 in nl_socket_get_local_port (sk=sk@entry=0x715500) at socket.c:369 + #2 0x000000000046b81a in event_msg_recv (msg=, arg=0x715500) at nm-netlink-monitor.c:204 + #3 0x00007ffff76f2604 in nl_cb_call (msg=0x71f240, type=5, cb=0x71f150) at ../include/netlink-private/netlink.h:141 + #4 recvmsgs (cb=0x71f150, sk=0x71f070) at nl.c:823 + #5 nl_recvmsgs_report (sk=sk@entry=0x71f070, cb=cb@entry=0x71f150) at nl.c:1003 + #6 0x00007ffff76f2bc9 in nl_recvmsgs (sk=sk@entry=0x71f070, cb=cb@entry=0x71f150) at nl.c:1027 + #7 0x00007ffff76ec6b8 in __cache_pickup (sk=sk@entry=0x71f070, cache=cache@entry=0x71f0c0, param=param@entry=0x7fffffffd3f0) at cache.c:701 + #8 0x00007ffff76ed0dd in nl_cache_pickup (sk=sk@entry=0x71f070, cache=cache@entry=0x71f0c0) at cache.c:753 + #9 0x00007ffff76ed2d8 in nl_cache_refill (sk=sk@entry=0x71f070, cache=cache@entry=0x71f0c0) at cache.c:983 + #10 0x00007ffff7b224db in rtnl_link_alloc_cache (sk=0x71f070, family=family@entry=0, result=result@entry=0x7154e0) at route/link.c:1029 + #11 0x000000000046c5f7 in sync_connection_setup (self=self@entry=0x715500, error=error@entry=0x7fffffffd4f8) at nm-netlink-monitor.c:412 + #12 0x000000000046c91f in nm_netlink_monitor_open_connection (self=0x715500, error=error@entry=0x7fffffffd4f8) at nm-netlink-monitor.c:447 + #13 0x000000000046cad7 in nm_netlink_monitor_get () at nm-netlink-monitor.c:840 + #14 0x00000000004558b9 in main (argc=1, argv=0x7fffffffd958) at main.c:527 + +Reported-by: Jan Engelhardt +Fixes: 9fee99e1230580067efb33f3aaea0fddad5cfe66 +Signed-off-by: Thomas Haller + +diff --git a/src/nm-netlink-monitor.c b/src/nm-netlink-monitor.c +index ba8053e..593dec9 100644 +--- a/src/nm-netlink-monitor.c ++++ b/src/nm-netlink-monitor.c +@@ -285,7 +285,7 @@ nlh_setup (struct nl_sock *nlh, + { + int err; + +- nl_socket_modify_cb (nlh, NL_CB_MSG_IN, NL_CB_CUSTOM, event_msg_recv, cb_data); ++ nl_socket_modify_cb (nlh, NL_CB_MSG_IN, NL_CB_CUSTOM, event_msg_recv, nlh); + + if (valid_func) + nl_socket_modify_cb (nlh, NL_CB_VALID, NL_CB_CUSTOM, valid_func, cb_data); +-- +cgit v0.10.2 + diff --git a/NetworkManager.spec b/NetworkManager.spec index 0c54c24..1adb458 100644 --- a/NetworkManager.spec +++ b/NetworkManager.spec @@ -1,7 +1,7 @@ %define majver %(echo %version | cut -d. -f 1-2) Name: NetworkManager Version: 0.9.8.10 -Release: 2mamba +Release: 3mamba Summary: A hardware level network management tool integrated with D-Bus Group: System/Kernel and Hardware Vendor: openmamba @@ -15,6 +15,7 @@ Source1: NetworkManager-0.8.2-polkit-localauthority.patch Patch0: %{name}-0.8.2-initscript.patch Patch7: %{name}-0.9.4.0-wpa_supplicant_longer_timeout.patch Patch12: %{name}-0.9.4.0-upstream-fixes-2.patch +Patch13: NetworkManager-0.9.8.10-libnl-3.2.25.patch License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel @@ -90,6 +91,7 @@ This package includes the %{name} API documentation. %patch0 -p1 %patch7 -p1 #%patch12 -p1 +%patch13 -p1 %build %configure \ @@ -234,6 +236,9 @@ exit 0 %{_datadir}/gtk-doc/html/libnm-util/* %changelog +* Sun Aug 24 2014 Silvan Calarco 0.9.8.10-3mamba +- added a patch to fix segfault with libnl 3.2.25 + * Mon Jun 30 2014 Silvan Calarco 0.9.8.10-2mamba - rebuilt with --with-session-tracking=systemd