diff options
author | 2025-03-26 23:48:48 +0900 | |
---|---|---|
committer | 2025-03-29 22:03:07 +0900 | |
commit | 59c30e31425833385e6644ad33151420e37eabe1 (patch) | |
tree | d3efb9860235af4e57d217f80db2190b7afc1bfe /fs/exfat/inode.c | |
parent | exfat: fix missing shutdown check (diff) | |
download | wireguard-linux-59c30e31425833385e6644ad33151420e37eabe1.tar.xz wireguard-linux-59c30e31425833385e6644ad33151420e37eabe1.zip |
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 <sj1557.seo@samsung.com>
Reviewed-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Diffstat (limited to '')
-rw-r--r-- | fs/exfat/inode.c | 2 |
1 files changed, 2 insertions, 0 deletions
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 |