Browse Source

dquot: For now explicitly don't support filesystems outside of init_user_ns

Mostly supporting filesystems outside of init_user_ns is
s/&init_usre_ns/dquot->dq_sb->s_user_ns/.  An actual need for
supporting quotas on filesystems outside of s_user_ns is quite a ways
away and to be done responsibily needs an audit on what can happen
with hostile quota files.  Until that audit is complete don't attempt
to support quota files on filesystems outside of s_user_ns.

Cc: Jan Kara <jack@suse.cz>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Eric W. Biederman 9 years ago
parent
commit
5c0048280b
1 changed files with 5 additions and 0 deletions
  1. 5 0
      fs/quota/dquot.c

+ 5 - 0
fs/quota/dquot.c

@@ -2271,6 +2271,11 @@ static int vfs_load_quota_inode(struct inode *inode, int type, int format_id,
 		error = -EINVAL;
 		error = -EINVAL;
 		goto out_fmt;
 		goto out_fmt;
 	}
 	}
+	/* Filesystems outside of init_user_ns not yet supported */
+	if (sb->s_user_ns != &init_user_ns) {
+		error = -EINVAL;
+		goto out_fmt;
+	}
 	/* Usage always has to be set... */
 	/* Usage always has to be set... */
 	if (!(flags & DQUOT_USAGE_ENABLED)) {
 	if (!(flags & DQUOT_USAGE_ENABLED)) {
 		error = -EINVAL;
 		error = -EINVAL;