Prechádzať zdrojové kódy

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>
Jeff Layton 13 rokov pred
rodič
commit
cc27e0d407
1 zmenil súbory, kde vykonal 7 pridanie a 0 odobranie
  1. 7 0
      fs/nfsd/nfs4recover.c

+ 7 - 0
fs/nfsd/nfs4recover.c

@@ -416,6 +416,13 @@ nfsd4_load_reboot_recovery_data(struct net *net)
 {
 {
 	int status;
 	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();
 	nfs4_lock_state();
 	status = nfsd4_init_recdir();
 	status = nfsd4_init_recdir();
 	if (!status)
 	if (!status)