summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYousong Zhou <yszhou4tech@gmail.com>2017-03-17 17:49:29 +0800
committerYousong Zhou <yszhou4tech@gmail.com>2017-03-19 12:42:16 +0800
commit0f23e80c272be4eaaa3e898f9e427886203be720 (patch)
tree4324b97483b7e482b05255ebf0b65c0ddc5bccfe
parent111cf1b9f37b902dbc4ac2934f38ee6418600f69 (diff)
downloadmtk-20170518-0f23e80c272be4eaaa3e898f9e427886203be720.zip
mtk-20170518-0f23e80c272be4eaaa3e898f9e427886203be720.tar.gz
mtk-20170518-0f23e80c272be4eaaa3e898f9e427886203be720.tar.bz2
iproute2: fix ip monitor can't work when NET_NS is not enabled
The bug appeared in v4.1.0 and was fixed since v4.8.0 Fixes FS#620 Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
-rw-r--r--package/network/utils/iproute2/Makefile2
-rw-r--r--package/network/utils/iproute2/patches/960-ipmonitor-fix-ip-monitor-can-t-work-when-NET_NS-is-n.patch40
2 files changed, 41 insertions, 1 deletions
diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile
index af8e64c..1c1ee3f 100644
--- a/package/network/utils/iproute2/Makefile
+++ b/package/network/utils/iproute2/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=iproute2
PKG_VERSION:=4.4.0
-PKG_RELEASE:=8
+PKG_RELEASE:=9
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2
diff --git a/package/network/utils/iproute2/patches/960-ipmonitor-fix-ip-monitor-can-t-work-when-NET_NS-is-n.patch b/package/network/utils/iproute2/patches/960-ipmonitor-fix-ip-monitor-can-t-work-when-NET_NS-is-n.patch
new file mode 100644
index 0000000..52be021
--- /dev/null
+++ b/package/network/utils/iproute2/patches/960-ipmonitor-fix-ip-monitor-can-t-work-when-NET_NS-is-n.patch
@@ -0,0 +1,40 @@
+From c44003f7e7254ac972eaa1b22a686471ea4ce2d7 Mon Sep 17 00:00:00 2001
+From: Liping Zhang <liping.zhang@spreadtrum.com>
+Date: Tue, 20 Sep 2016 02:09:02 -0700
+Subject: [PATCH] ipmonitor: fix ip monitor can't work when NET_NS is not
+ enabled
+
+In ip monitor, netns_map_init will check getnsid is supported or not.
+But when /proc/self/ns/net does not exist, we just print out error
+messages and exit. So user cannot use ip monitor anymore when
+CONFIG_NET_NS is disabled:
+ # ip monitor
+ open("/proc/self/ns/net"): No such file or directory
+
+If open "/proc/self/ns/net" failed, set have_rtnl_getnsid to false.
+
+Fixes: d652ccbf8195 ("netns: allow to dump and monitor nsid")
+Signed-off-by: Liping Zhang <liping.zhang@spreadtrum.com>
+Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
+---
+ ip/ipnetns.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ip/ipnetns.c b/ip/ipnetns.c
+index af87065..ccc652c 100644
+--- a/ip/ipnetns.c
++++ b/ip/ipnetns.c
+@@ -72,8 +72,8 @@ static int ipnetns_have_nsid(void)
+ if (have_rtnl_getnsid < 0) {
+ fd = open("/proc/self/ns/net", O_RDONLY);
+ if (fd < 0) {
+- perror("open(\"/proc/self/ns/net\")");
+- exit(1);
++ have_rtnl_getnsid = 0;
++ return 0;
+ }
+
+ addattr32(&req.n, 1024, NETNSA_FD, fd);
+--
+2.6.4
+