There are some places should return -EINVAL instead of -ENOMEM in ovl_fill_super(), so just fix it. Signed-off-by: Chengguang Xu <cgxu519@xxxxxxxxxxxx> --- fs/overlayfs/super.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c index fdd72f1a9c5e..3dda1d530a43 100644 --- a/fs/overlayfs/super.c +++ b/fs/overlayfs/super.c @@ -1984,6 +1984,7 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent) if (numlower > OVL_MAX_STACK) { pr_err("too many lower directories, limit is %d\n", OVL_MAX_STACK); + err = -EINVAL; goto out_err; } @@ -2010,6 +2011,7 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent) /* alloc/destroy_inode needed for setting up traps in inode cache */ sb->s_op = &ovl_super_operations; + err = -EINVAL; if (ofs->config.upperdir) { struct super_block *upper_sb; -- 2.27.0