Skip to content

Commit d6c9efd

Browse files
Tetsuhiro Kohadanamjaejeon
authored andcommitted
exfat: fix pointer error checking
Fix missing result check of exfat_build_inode(). And use PTR_ERR_OR_ZERO instead of PTR_ERR. Signed-off-by: Tetsuhiro Kohada <kohada.t2@gmail.com> Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
1 parent 549738f commit d6c9efd

1 file changed

Lines changed: 6 additions & 7 deletions

File tree

fs/exfat/namei.c

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -578,7 +578,8 @@ static int exfat_create(struct inode *dir, struct dentry *dentry, umode_t mode,
578578

579579
i_pos = exfat_make_i_pos(&info);
580580
inode = exfat_build_inode(sb, &info, i_pos);
581-
if (IS_ERR(inode))
581+
err = PTR_ERR_OR_ZERO(inode);
582+
if (err)
582583
goto unlock;
583584

584585
inode_inc_iversion(inode);
@@ -745,10 +746,9 @@ static struct dentry *exfat_lookup(struct inode *dir, struct dentry *dentry,
745746

746747
i_pos = exfat_make_i_pos(&info);
747748
inode = exfat_build_inode(sb, &info, i_pos);
748-
if (IS_ERR(inode)) {
749-
err = PTR_ERR(inode);
749+
err = PTR_ERR_OR_ZERO(inode);
750+
if (err)
750751
goto unlock;
751-
}
752752

753753
i_mode = inode->i_mode;
754754
alias = d_find_alias(inode);
@@ -890,10 +890,9 @@ static int exfat_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
890890

891891
i_pos = exfat_make_i_pos(&info);
892892
inode = exfat_build_inode(sb, &info, i_pos);
893-
if (IS_ERR(inode)) {
894-
err = PTR_ERR(inode);
893+
err = PTR_ERR_OR_ZERO(inode);
894+
if (err)
895895
goto unlock;
896-
}
897896

898897
inode_inc_iversion(inode);
899898
inode->i_mtime = inode->i_atime = inode->i_ctime =

0 commit comments

Comments
 (0)