diff mbox series

ext4: correct error handling of ext4_get_journal_inode()

Message ID 20230826011029.2023140-1-yi.zhang@huaweicloud.com
State Accepted
Headers show
Series ext4: correct error handling of ext4_get_journal_inode() | expand

Commit Message

Zhang Yi Aug. 26, 2023, 1:10 a.m. UTC
From: Zhang Yi <yi.zhang@huawei.com>

Commit '99d6c5d892bf ("ext4: ext4_get_{dev}_journal return proper error
value")' changed ext4_get_journal_inode() to return error return value
when something bad happened, but missed to modify the caller
ext4_calculate_overhead(), so fix it.

Reported-by: syzbot+b3123e6d9842e526de39@syzkaller.appspotmail.com
Fixes: 99d6c5d892bf ("ext4: ext4_get_{dev}_journal return proper error value")
Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
---
 fs/ext4/super.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Theodore Ts'o Aug. 27, 2023, 3:27 p.m. UTC | #1
On Sat, Aug 26, 2023 at 09:10:29AM +0800, Zhang Yi wrote:
> From: Zhang Yi <yi.zhang@huawei.com>
> 
> Commit '99d6c5d892bf ("ext4: ext4_get_{dev}_journal return proper error
> value")' changed ext4_get_journal_inode() to return error return value
> when something bad happened, but missed to modify the caller
> ext4_calculate_overhead(), so fix it.
> 
> Reported-by: syzbot+b3123e6d9842e526de39@syzkaller.appspotmail.com
> Fixes: 99d6c5d892bf ("ext4: ext4_get_{dev}_journal return proper error value")
> Signed-off-by: Zhang Yi <yi.zhang@huawei.com>

Thanks, I've folded this into the commit "ext4: ext4_get_{dev}_journal
return proper error value".

						- Ted
diff mbox series

Patch

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index bb42525de8d0..91f20afa1d71 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -4260,7 +4260,7 @@  int ext4_calculate_overhead(struct super_block *sb)
 	else if (ext4_has_feature_journal(sb) && !sbi->s_journal && j_inum) {
 		/* j_inum for internal journal is non-zero */
 		j_inode = ext4_get_journal_inode(sb, j_inum);
-		if (j_inode) {
+		if (!IS_ERR(j_inode)) {
 			j_blocks = j_inode->i_size >> sb->s_blocksize_bits;
 			overhead += EXT4_NUM_B2C(sbi, j_blocks);
 			iput(j_inode);