JFS: skip bad iput() call in error path

If jfs_iget() fails, we can't call iput() on the returned error.
Thanks to Eric Sesterhenn's fuzzer testing for reporting the problem.

Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
This commit is contained in:
Dave Kleikamp 2008-05-21 10:45:16 -05:00
parent b2e03ca748
commit 6536d2891b

View file

@ -499,7 +499,7 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent)
inode = jfs_iget(sb, ROOT_I);
if (IS_ERR(inode)) {
ret = PTR_ERR(inode);
goto out_no_root;
goto out_no_rw;
}
sb->s_root = d_alloc_root(inode);
if (!sb->s_root)
@ -521,9 +521,8 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent)
return 0;
out_no_root:
jfs_err("jfs_read_super: get root inode failed");
if (inode)
iput(inode);
jfs_err("jfs_read_super: get root dentry failed");
iput(inode);
out_no_rw:
rc = jfs_umount(sb);