summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2012-03-21 14:52:09 +0100
committerJ. Bruce Fields <bfields@redhat.com>2012-03-26 17:49:48 +0200
commitcc27e0d407021a278d08c1952f5af4ab38c49eda (patch)
tree553dcc5c2acdce04caab305c02693303abb4e822
parentnfsd: add notifier to handle mount/unmount of rpc_pipefs sb (diff)
downloadlinux-cc27e0d407021a278d08c1952f5af4ab38c49eda.tar.xz
linux-cc27e0d407021a278d08c1952f5af4ab38c49eda.zip
nfsd: don't allow legacy client tracker init for anything but init_net
This code isn't set up for containers, so don't allow it to be used for anything but init_net. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
-rw-r--r--fs/nfsd/nfs4recover.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
index 6f13281635ba..21b53d57432c 100644
--- a/fs/nfsd/nfs4recover.c
+++ b/fs/nfsd/nfs4recover.c
@@ -416,6 +416,13 @@ nfsd4_load_reboot_recovery_data(struct net *net)
{
int status;
+ /* XXX: The legacy code won't work in a container */
+ if (net != &init_net) {
+ WARN(1, KERN_ERR "NFSD: attempt to initialize legacy client "
+ "tracking in a container!\n");
+ return -EINVAL;
+ }
+
nfs4_lock_state();
status = nfsd4_init_recdir();
if (!status)