|
Kmods SIG |
9e3ffb |
From d6c9efd92443b23307995f34246c2374056ebbd8 Mon Sep 17 00:00:00 2001
|
|
Kmods SIG |
9e3ffb |
From: Tetsuhiro Kohada <kohada.t2@gmail.com>
|
|
Kmods SIG |
9e3ffb |
Date: Wed, 26 Aug 2020 10:18:29 +0900
|
|
Kmods SIG |
9e3ffb |
Subject: [Backport d6c9efd92443] exfat: fix pointer error checking
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
Fix missing result check of exfat_build_inode().
|
|
Kmods SIG |
9e3ffb |
And use PTR_ERR_OR_ZERO instead of PTR_ERR.
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
Signed-off-by: Tetsuhiro Kohada <kohada.t2@gmail.com>
|
|
Kmods SIG |
9e3ffb |
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
|
|
Kmods SIG |
9e3ffb |
---
|
|
Kmods SIG |
9e3ffb |
src/namei.c | 13 ++++++-------
|
|
Kmods SIG |
9e3ffb |
1 file changed, 6 insertions(+), 7 deletions(-)
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
diff --git a/src/namei.c b/src/namei.c
|
|
Kmods SIG |
9e3ffb |
index e73f20f66cb2e1c1c3c20b4a62bad8210fda6e8b..c94ac239f740b0bbce1d9a51b9ea6b820c6b7f33 100644
|
|
Kmods SIG |
9e3ffb |
--- a/src/namei.c
|
|
Kmods SIG |
9e3ffb |
+++ b/src/namei.c
|
|
Kmods SIG |
9e3ffb |
@@ -578,7 +578,8 @@ static int exfat_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
i_pos = exfat_make_i_pos(&info;;
|
|
Kmods SIG |
9e3ffb |
inode = exfat_build_inode(sb, &info, i_pos);
|
|
Kmods SIG |
9e3ffb |
- if (IS_ERR(inode))
|
|
Kmods SIG |
9e3ffb |
+ err = PTR_ERR_OR_ZERO(inode);
|
|
Kmods SIG |
9e3ffb |
+ if (err)
|
|
Kmods SIG |
9e3ffb |
goto unlock;
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
inode_inc_iversion(inode);
|
|
Kmods SIG |
9e3ffb |
@@ -745,10 +746,9 @@ static struct dentry *exfat_lookup(struct inode *dir, struct dentry *dentry,
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
i_pos = exfat_make_i_pos(&info;;
|
|
Kmods SIG |
9e3ffb |
inode = exfat_build_inode(sb, &info, i_pos);
|
|
Kmods SIG |
9e3ffb |
- if (IS_ERR(inode)) {
|
|
Kmods SIG |
9e3ffb |
- err = PTR_ERR(inode);
|
|
Kmods SIG |
9e3ffb |
+ err = PTR_ERR_OR_ZERO(inode);
|
|
Kmods SIG |
9e3ffb |
+ if (err)
|
|
Kmods SIG |
9e3ffb |
goto unlock;
|
|
Kmods SIG |
9e3ffb |
- }
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
i_mode = inode->i_mode;
|
|
Kmods SIG |
9e3ffb |
alias = d_find_alias(inode);
|
|
Kmods SIG |
9e3ffb |
@@ -890,10 +890,9 @@ static int exfat_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
i_pos = exfat_make_i_pos(&info;;
|
|
Kmods SIG |
9e3ffb |
inode = exfat_build_inode(sb, &info, i_pos);
|
|
Kmods SIG |
9e3ffb |
- if (IS_ERR(inode)) {
|
|
Kmods SIG |
9e3ffb |
- err = PTR_ERR(inode);
|
|
Kmods SIG |
9e3ffb |
+ err = PTR_ERR_OR_ZERO(inode);
|
|
Kmods SIG |
9e3ffb |
+ if (err)
|
|
Kmods SIG |
9e3ffb |
goto unlock;
|
|
Kmods SIG |
9e3ffb |
- }
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
inode_inc_iversion(inode);
|
|
Kmods SIG |
9e3ffb |
inode->i_mtime = inode->i_atime = inode->i_ctime =
|
|
Kmods SIG |
9e3ffb |
--
|
|
Kmods SIG |
9e3ffb |
2.31.1
|
|
Kmods SIG |
9e3ffb |
|