From 587065dcac64e88132803cdb0a7f26bb4a79cf46 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Fri, 24 Jan 2020 13:15:37 +0300 Subject: [PATCH] fs/adfs: bigdir: Fix an error code in adfs_fplus_read() This code accidentally returns success, but it should return the -EIO error code from adfs_fplus_validate_header(). Acked-by: Russell King Fixes: d79288b4f61b ("fs/adfs: bigdir: calculate and validate directory checkbyte") Signed-off-by: Dan Carpenter Signed-off-by: Al Viro --- fs/adfs/dir_fplus.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/adfs/dir_fplus.c b/fs/adfs/dir_fplus.c index 48ea299..4a15924 100644 --- a/fs/adfs/dir_fplus.c +++ b/fs/adfs/dir_fplus.c @@ -114,7 +114,8 @@ static int adfs_fplus_read(struct super_block *sb, u32 indaddr, return ret; dir->bighead = h = (void *)dir->bhs[0]->b_data; - if (adfs_fplus_validate_header(h)) { + ret = adfs_fplus_validate_header(h); + if (ret) { adfs_error(sb, "dir %06x has malformed header", indaddr); goto out; } -- 2.7.4