Message ID | 20250326144848.3219740-1-sj1557.seo@samsung.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | exfat: fix potential wrong error return from get_block | expand |
Reviewed-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
On Wed, Mar 26, 2025 at 11:49 PM Sungjong Seo <sj1557.seo@samsung.com> wrote: > > 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 <sj1557.seo@samsung.com> Applied it to dev with Yuezhang's reviewed-by tag. Thanks!
diff --git a/fs/exfat/inode.c b/fs/exfat/inode.c index f3fdba9f4d21..a23677de4544 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
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 <sj1557.seo@samsung.com> --- fs/exfat/inode.c | 2 ++ 1 file changed, 2 insertions(+)