Re: [syzbot] KASAN: use-after-free Read in copy_page_from_iter_atomic (2)

From: David Sterba
Date: Mon Jun 13 2022 - 16:44:15 EST


On Fri, Jun 10, 2022 at 12:10:19AM -0700, syzbot wrote:
> syzbot has bisected this issue to:
>
> commit 4cd4aed63125ccd4efc35162627827491c2a7be7
> Author: Christoph Hellwig <hch@xxxxxx>
> Date: Fri May 27 08:43:20 2022 +0000
>
> btrfs: fold repair_io_failure into btrfs_repair_eb_io_failure

Josef also reported a crash and found a bug in the patch, now added as
fixup that'll be in for-next:

diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 89a319e65197..5eac9ffb7499 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -2260,7 +2260,7 @@ int btrfs_repair_eb_io_failure(const struct extent_buffer *eb, int mirror_num)
__bio_add_page(&bio, p, PAGE_SIZE, start - page_offset(p));
ret = btrfs_map_repair_bio(fs_info, &bio, mirror_num);
bio_uninit(&bio);
-
+ start += PAGE_SIZE;
if (ret)
return ret;
}
---