diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2014-10-23 22:52:55 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2014-10-23 22:52:55 -0400 |
commit | 1be47b387a717a1d3edf29c80b6e7f3a72ab236e (patch) | |
tree | 5bd5f4b46b5266f5f583f601b8880211ee224c95 /fs/ecryptfs/main.c | |
parent | 51486b900ee92856b977eacfc5bfbe6565028070 (diff) | |
parent | 69c433ed2ecd2d3264efd7afec4439524b319121 (diff) |
Merge branch 'overlayfs.v25' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs into for-linus
Diffstat (limited to 'fs/ecryptfs/main.c')
-rw-r--r-- | fs/ecryptfs/main.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c index 1b119d3bf92..c4cd1fd86cc 100644 --- a/fs/ecryptfs/main.c +++ b/fs/ecryptfs/main.c @@ -566,6 +566,13 @@ 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) { + pr_err("eCryptfs: maximum fs stacking depth exceeded\n"); + goto out_free; + } inode = ecryptfs_get_inode(path.dentry->d_inode, s); rc = PTR_ERR(inode); |