[PATCH 4.4 049/190] ext4: fix error code in ext4_commit_super

From: Greg Kroah-Hartman
Date: Thu May 20 2021 - 07:30:50 EST


From: Fengnan Chang <changfengnan@xxxxxxxx>

commit f88f1466e2a2e5ca17dfada436d3efa1b03a3972 upstream.

We should set the error code when ext4_commit_super check argument failed.
Found in code review.
Fixes: c4be0c1dc4cdc ("filesystem freeze: add error handling of write_super_lockfs/unlockfs").

Cc: stable@xxxxxxxxxx
Signed-off-by: Fengnan Chang <changfengnan@xxxxxxxx>
Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx>
Link: https://lore.kernel.org/r/20210402101631.561-1-changfengnan@xxxxxxxx
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
fs/ext4/super.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -4494,8 +4494,10 @@ static int ext4_commit_super(struct supe
struct buffer_head *sbh = EXT4_SB(sb)->s_sbh;
int error = 0;

- if (!sbh || block_device_ejected(sb))
- return error;
+ if (!sbh)
+ return -EINVAL;
+ if (block_device_ejected(sb))
+ return -ENODEV;

/*
* The superblock bh should be mapped, but it might not be if the