romfs: fix returm err while getting inode in fill_super

Getting an inode by romfs_iget may lead to an err in fill_super, and the
err value should be return.

And it should return -ENOMEM instead while d_make_root fails, fix it too.

Signed-off-by: Rui Xiang <rui.xiang@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Rui Xiang 2014-01-23 15:56:19 -08:00 committed by Linus Torvalds
parent 3089a4c8d3
commit 40e2c71d57
1 changed files with 2 additions and 4 deletions

View File

@ -533,16 +533,14 @@ static int romfs_fill_super(struct super_block *sb, void *data, int silent)
root = romfs_iget(sb, pos);
if (IS_ERR(root))
goto error;
return PTR_ERR(root);
sb->s_root = d_make_root(root);
if (!sb->s_root)
goto error;
return -ENOMEM;
return 0;
error:
return -EINVAL;
error_rsb_inval:
ret = -EINVAL;
error_rsb: