2022-01-21 19:14:43

by Lukas Czerner

[permalink] [raw]
Subject: [PATCH] ext4: fix potential NULL pointer dereference in ext4_fill_super()

By mistake we fail to return an error from ext4_fill_super() in case
that ext4_alloc_sbi() fails to allocate a new sbi. Instead we just set
the ret variable and allow the function to continue which will later
lead to a NULL pointer dereference. Fix it by returning -ENOMEM in the
case ext4_alloc_sbi() fails.

Fixes: cebe85d570cf ("ext4: switch to the new mount api")
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>
Signed-off-by: Lukas Czerner <[email protected]>
---
fs/ext4/super.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index db9fe4843529..6023ebb5b19d 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -5543,7 +5543,7 @@ static int ext4_fill_super(struct super_block *sb, struct fs_context *fc)

sbi = ext4_alloc_sbi(sb);
if (!sbi)
- ret = -ENOMEM;
+ return -ENOMEM;

fc->s_fs_info = sbi;

--
2.31.1


2022-01-31 23:01:00

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] ext4: fix potential NULL pointer dereference in ext4_fill_super()

On Wed, 19 Jan 2022 14:02:09 +0100, Lukas Czerner wrote:
> By mistake we fail to return an error from ext4_fill_super() in case
> that ext4_alloc_sbi() fails to allocate a new sbi. Instead we just set
> the ret variable and allow the function to continue which will later
> lead to a NULL pointer dereference. Fix it by returning -ENOMEM in the
> case ext4_alloc_sbi() fails.
>
>
> [...]

Applied, thanks!

[1/1] ext4: fix potential NULL pointer dereference in ext4_fill_super()
commit: 7c6bb3d664aa05bf4366fd79a13921acfca28a6d

Best regards,
--
Theodore Ts'o <[email protected]>