mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 20:24:12 +08:00
fs/romfs: correct error-handling code
romfs_iget returns an ERR_PTR value in an error case instead of NULL. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @match exists@ expression x, E; statement S1, S2; @@ x = romfs_iget(...) ... when != x = E ( * if (x == NULL || ...) S1 else S2 | * if (x == NULL && ...) S1 else S2 ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
9e5f1138d7
commit
a21f3c2a04
@ -528,7 +528,7 @@ static int romfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
pos = (ROMFH_SIZE + len + 1 + ROMFH_PAD) & ROMFH_MASK;
|
||||
|
||||
root = romfs_iget(sb, pos);
|
||||
if (!root)
|
||||
if (IS_ERR(root))
|
||||
goto error;
|
||||
|
||||
sb->s_root = d_alloc_root(root);
|
||||
|
Loading…
Reference in New Issue
Block a user