nfsd: use "init_net" for portmapper
authorStanislav Kinsbursky <skinsbursky@parallels.com>
Mon, 10 Dec 2012 09:19:04 +0000 (12:19 +0300)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 10 Dec 2012 21:25:32 +0000 (16:25 -0500)
There could be a situation, when NFSd was started in one network namespace, but
stopped in another one.
This will trigger kernel panic, because RPCBIND client is stored on per-net
NFSd data, and will be NULL on NFSd shutdown.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfssvc.c

index b34a67d..9beace6 100644 (file)
@@ -11,7 +11,6 @@
 #include <linux/module.h>
 #include <linux/fs_struct.h>
 #include <linux/swap.h>
-#include <linux/nsproxy.h>
 
 #include <linux/sunrpc/stats.h>
 #include <linux/sunrpc/svcsock.h>
@@ -341,7 +340,7 @@ static int nfsd_get_default_max_blksize(void)
 int nfsd_create_serv(void)
 {
        int error;
-       struct net *net = current->nsproxy->net_ns;
+       struct net *net = &init_net;
 
        WARN_ON(!mutex_is_locked(&nfsd_mutex));
        if (nfsd_serv) {