diff --git a/fs/exfat/namei.c b/fs/exfat/namei.c index ef2a3488c1b3..d0ea1ff81c09 100644 --- a/fs/exfat/namei.c +++ b/fs/exfat/namei.c @@ -874,9 +874,10 @@ static struct dentry *exfat_mkdir(struct mnt_idmap *idmap, struct inode *dir, i_pos = exfat_make_i_pos(&info); inode = exfat_build_inode(sb, &info, i_pos); - err = PTR_ERR_OR_ZERO(inode); - if (err) + if (IS_ERR(inode)) { + err = PTR_ERR(inode); goto unlock; + } inode_inc_iversion(inode); EXFAT_I(inode)->i_crtime = simple_inode_init_ts(inode); @@ -887,7 +888,7 @@ static struct dentry *exfat_mkdir(struct mnt_idmap *idmap, struct inode *dir, unlock: mutex_unlock(&EXFAT_SB(sb)->s_lock); - return ERR_PTR(err); + return err ? ERR_PTR(err) : NULL; } static int exfat_check_dir_empty(struct super_block *sb,