]> www.infradead.org Git - users/dwmw2/linux.git/commit
bcachefs: init freespace inited bits to 0 in bch2_fs_initialize
authorPiotr Zalewski <pZ010001011111@proton.me>
Sat, 26 Oct 2024 00:15:49 +0000 (00:15 +0000)
committerKent Overstreet <kent.overstreet@linux.dev>
Tue, 29 Oct 2024 10:34:10 +0000 (06:34 -0400)
commit3fd27e9c57bf12c4eb1e41b87fc1aa579ec772da
treef0da099302c1561458e78410e4f234ab1d54a222
parentc1fa854acc72e783fa6a464d3e35766e06d18d83
bcachefs: init freespace inited bits to 0 in bch2_fs_initialize

Initialize freespace_initialized bits to 0 in member's flags and update
member's cached version for each device in bch2_fs_initialize.

It's possible for the bits to be set to 1 before fs is initialized and if
call to bch2_trans_mark_dev_sbs (just before bch2_fs_freespace_init) fails
bits remain to be 1 which can later indirectly trigger BUG condition in
bch2_bucket_alloc_freelist during shutdown.

Reported-by: syzbot+2b6a17991a6af64f9489@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=2b6a17991a6af64f9489
Fixes: bbe682c76789 ("bcachefs: Ensure devices are always correctly initialized")
Suggested-by: Kent Overstreet <kent.overstreet@linux.dev>
Signed-off-by: Piotr Zalewski <pZ010001011111@proton.me>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/recovery.c