[iproute] Fix an 'ip link' hang (#996537)
Petr Šabata
psabata at fedoraproject.org
Thu Aug 29 14:14:22 UTC 2013
commit f4984bb20b9fbda937ed079577020127b07855ed
Author: Petr Šabata <contyk at redhat.com>
Date: Thu Aug 29 16:14:10 2013 +0200
Fix an 'ip link' hang (#996537)
iproute.spec | 7 ++++++-
iproute2-3.10.0-rtnl_send.patch | 15 +++++++++++++++
2 files changed, 21 insertions(+), 1 deletions(-)
---
diff --git a/iproute.spec b/iproute.spec
index a29f415..2ff89b6 100644
--- a/iproute.spec
+++ b/iproute.spec
@@ -2,7 +2,7 @@
Summary: Advanced IP routing and network device configuration tools
Name: iproute
Version: 3.10.0
-Release: 4%{?dist}
+Release: 5%{?dist}
Group: Applications/System
URL: http://kernel.org/pub/linux/utils/net/%{name}2/
Source0: http://kernel.org/pub/linux/utils/net/%{name}2/%{name}2-%{version}.tar.gz
@@ -19,6 +19,7 @@ Patch7: iproute2-2.6.39-lnstat-dump-to-stdout.patch
Patch8: iproute2-3.8.0-unused-result.patch
Patch9: iproute2-3.10.0-xfrm-state-overflow.patch
Patch10: iproute2-3.10.0-lnstat-interval.patch
+Patch11: iproute2-3.10.0-rtnl_send.patch
License: GPLv2+ and Public Domain
BuildRequires: bison
BuildRequires: flex
@@ -74,6 +75,7 @@ The libnetlink static library.
%patch8 -p1 -b .unused-result
%patch9 -p1 -b .xfrm-state
%patch10 -p1 -b .lnstat-interval
+%patch11 -p1 -b .rtnl_send
sed -i 's/^LIBDIR=/LIBDIR?=/' Makefile
%build
@@ -173,6 +175,9 @@ done
%{_includedir}/libnetlink.h
%changelog
+* Thu Aug 29 2013 Petr Šabata <contyk at redhat.com> - 3.10.0-5
+- Fix an 'ip link' hang (#996537)
+
* Tue Aug 13 2013 Petr Šabata <contyk at redhat.com> - 3.10.0-4
- lnstat -i: Run indefinitely if the --count isn't specified (#977845)
- Switch to unversioned %%docdir
diff --git a/iproute2-3.10.0-rtnl_send.patch b/iproute2-3.10.0-rtnl_send.patch
new file mode 100644
index 0000000..65df1e5
--- /dev/null
+++ b/iproute2-3.10.0-rtnl_send.patch
@@ -0,0 +1,15 @@
+diff --git a/ip/iplink.c b/ip/iplink.c
+index dc98019..56768bd 100644
+--- a/ip/iplink.c
++++ b/ip/iplink.c
+@@ -176,8 +176,8 @@ static int iplink_have_newlink(void)
+ req.n.nlmsg_type = RTM_NEWLINK;
+ req.i.ifi_family = AF_UNSPEC;
+
+- rtnl_send(&rth, &req.n, req.n.nlmsg_len);
+- rtnl_listen(&rth, accept_msg, NULL);
++ if (rtnl_send(&rth, &req.n, req.n.nlmsg_len) == 0)
++ rtnl_listen(&rth, accept_msg, NULL);
+ }
+ return have_rtnl_newlink;
+ }
More information about the scm-commits
mailing list