From: Sungjong Seo Date: Wed, 26 Mar 2025 14:48:48 +0000 (+0900) Subject: exfat: fix potential wrong error return from get_block X-Git-Tag: v6.15-rc1~85^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=59c30e31425833385e6644ad33151420e37eabe1;p=thirdparty%2Flinux.git exfat: fix potential wrong error return from get_block If there is no error, get_block() should return 0. However, when bh_read() returns 1, get_block() also returns 1 in the same manner. Let's set err to 0, if there is no error from bh_read() Fixes: 11a347fb6cef ("exfat: change to get file size from DataLength") Cc: stable@vger.kernel.org Signed-off-by: Sungjong Seo Reviewed-by: Yuezhang Mo Signed-off-by: Namjae Jeon --- diff --git a/fs/exfat/inode.c b/fs/exfat/inode.c index f3fdba9f4d21a..a23677de4544f 100644 --- a/fs/exfat/inode.c +++ b/fs/exfat/inode.c @@ -391,6 +391,8 @@ static int exfat_get_block(struct inode *inode, sector_t iblock, /* Zero unwritten part of a block */ memset(bh_result->b_data + size, 0, bh_result->b_size - size); + + err = 0; } else { /* * The range has not been written, clear the mapped flag