]> git.ipfire.org Git - thirdparty/linux.git/commit
exfat: fix zero the unwritten part for dio read
authorYuezhang Mo <Yuezhang.Mo@sony.com>
Thu, 18 Jan 2024 01:52:52 +0000 (09:52 +0800)
committerNamjae Jeon <linkinjeon@kernel.org>
Thu, 18 Jan 2024 14:01:51 +0000 (23:01 +0900)
commit0991abeddefa118479b0af32c28bcd662dec1561
tree8d54847449bdf26b93a72ee20a8e976b618b3fe8
parent296455ade1fdcf5f8f8c033201633b60946c589a
exfat: fix zero the unwritten part for dio read

For dio read, bio will be leave in flight when a successful partial
aio read have been setup, blockdev_direct_IO() will return
-EIOCBQUEUED. In the case, iter->iov_offset will be not advanced,
the oops reported by syzbot will occur if revert iter->iov_offset
with iov_iter_revert(). The unwritten part had been zeroed by aio
read, so there is no need to zero it in dio read.

Reported-by: syzbot+fd404f6b03a58e8bc403@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=fd404f6b03a58e8bc403
Fixes: 11a347fb6cef ("exfat: change to get file size from DataLength")
Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
fs/exfat/inode.c