diff options
Diffstat (limited to 'fs/sdcardfs/main.c')
| -rw-r--r-- | fs/sdcardfs/main.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/sdcardfs/main.c b/fs/sdcardfs/main.c index d46970095cb..97375a13ba1 100644 --- a/fs/sdcardfs/main.c +++ b/fs/sdcardfs/main.c @@ -223,6 +223,13 @@ static int sdcardfs_read_super(struct super_block *sb, const char *dev_name, atomic_inc(&lower_sb->s_active); sdcardfs_set_lower_super(sb, lower_sb); + sb->s_stack_depth = lower_sb->s_stack_depth + 1; + if (sb->s_stack_depth > FILESYSTEM_MAX_STACK_DEPTH) { + pr_err("sdcardfs: maximum fs stacking depth exceeded\n"); + err = -EINVAL; + goto out_sput; + } + /* inherit maxbytes from lower file system */ sb->s_maxbytes = lower_sb->s_maxbytes; |
