|
|
@@ -0,0 +1,40 @@
|
|
|
+From c44003f7e7254ac972eaa1b22a686471ea4ce2d7 Mon Sep 17 00:00:00 2001
|
|
|
+From: Liping Zhang <[email protected]>
|
|
|
+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 <[email protected]>
|
|
|
+Acked-by: Nicolas Dichtel <[email protected]>
|
|
|
+---
|
|
|
+ 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
|
|
|
+
|