When bset past end of btree node, we should not add sectors to b->written, which will overflow b->written.
Reported-by: syzbot+3cb3d9e8c3f197754...@syzkaller.appspotmail.com Tested-by: syzbot+3cb3d9e8c3f197754...@syzkaller.appspotmail.com Signed-off-by: Alan Huang <mmpgour...@gmail.com> --- fs/bcachefs/btree_io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/bcachefs/btree_io.c b/fs/bcachefs/btree_io.c index 80a0094be356..18413b4f22a3 100644 --- a/fs/bcachefs/btree_io.c +++ b/fs/bcachefs/btree_io.c @@ -1187,7 +1187,7 @@ int bch2_btree_node_read_done(struct bch_fs *c, struct bch_dev *ca, le64_to_cpu(i->journal_seq), b->written, b->written + sectors, ptr_written); - b->written += sectors; + b->written = min(b->written + sectors, btree_sectors(c)); if (blacklisted && !first) continue; -- 2.48.1