Revert "UBUNTU: SAUCE: overlayfs -- fs: limit filesystem stacking depth"
authorAndy Whitcroft <apw@canonical.com>
Mon, 16 Jan 2012 18:36:37 +0000 (18:36 +0000)
committerLeann Ogasawara <leann.ogasawara@canonical.com>
Mon, 2 Apr 2012 20:17:35 +0000 (13:17 -0700)
This reverts commit 58849764d481408f743206eb170cd42382ce71df.

Signed-off-by: Andy Whitcroft <apw@canonical.com>

fs/ecryptfs/main.c
fs/overlayfs/super.c
include/linux/fs.h

index 703cda3..b4a6bef 100644 (file)
@@ -544,13 +544,6 @@ static struct dentry *ecryptfs_mount(struct file_system_type *fs_type, int flags
        s->s_maxbytes = path.dentry->d_sb->s_maxbytes;
        s->s_blocksize = path.dentry->d_sb->s_blocksize;
        s->s_magic = ECRYPTFS_SUPER_MAGIC;
-       s->s_stack_depth = path.dentry->d_sb->s_stack_depth + 1;
-
-       rc = -EINVAL;
-       if (s->s_stack_depth > FILESYSTEM_MAX_STACK_DEPTH) {
-               printk(KERN_ERR "eCryptfs: maximum fs stacking depth exceeded\n");
-               goto out_free;
-       }
 
        inode = ecryptfs_get_inode(path.dentry->d_inode, s);
        rc = PTR_ERR(inode);
index 508cf19..c0c6bd9 100644 (file)
@@ -545,16 +545,6 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent)
            !S_ISDIR(lowerpath.dentry->d_inode->i_mode))
                goto out_put_lowerpath;
 
-       sb->s_stack_depth = max(upperpath.mnt->mnt_sb->s_stack_depth,
-                               lowerpath.mnt->mnt_sb->s_stack_depth) + 1;
-
-       err = -EINVAL;
-       if (sb->s_stack_depth > FILESYSTEM_MAX_STACK_DEPTH) {
-               printk(KERN_ERR "overlayfs: maximum fs stacking depth exceeded\n");
-               goto out_put_lowerpath;
-       }
-
-
        ufs->upper_mnt = clone_private_mount(&upperpath);
        err = PTR_ERR(ufs->upper_mnt);
        if (IS_ERR(ufs->upper_mnt)) {
index efe075e..737ce9c 100644 (file)
@@ -482,12 +482,6 @@ struct iattr {
  */
 #include <linux/quota.h>
 
-/*
- * Maximum number of layers of fs stack.  Needs to be limited to
- * prevent kernel stack overflow
- */
-#define FILESYSTEM_MAX_STACK_DEPTH 2
-
 /** 
  * enum positive_aop_returns - aop return codes with specific semantics
  *
@@ -1488,11 +1482,6 @@ struct super_block {
        int cleancache_poolid;
 
        struct shrinker s_shrink;       /* per-sb shrinker handle */
-
-       /*
-        * Indicates how deep in a filesystem stack this SB is
-        */
-       int s_stack_depth;
 };
 
 /* superblock cache pruning functions */