--- /dev/null
+From f7fb86c6e639360ad9c253cec534819ef928a674 Mon Sep 17 00:00:00 2001
+From: Stanislav Kinsbursky <skinsbursky@parallels.com>
+Date: Mon, 10 Dec 2012 12:19:04 +0300
+Subject: nfsd: use "init_net" for portmapper
+
+From: Stanislav Kinsbursky <skinsbursky@parallels.com>
+
+commit f7fb86c6e639360ad9c253cec534819ef928a674 upstream.
+
+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>
+Signed-off-by: Weng Meiling <wengmeiling.weng@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/nfsd/nfssvc.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/fs/nfsd/nfssvc.c
++++ b/fs/nfsd/nfssvc.c
+@@ -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>
+@@ -330,7 +329,7 @@ static int nfsd_get_default_max_blksize(
+ 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) {