Commit f108ddd4 authored by Kent Overstreet's avatar Kent Overstreet

bcachefs: Fix shift overflow in btree_lost_data()

Reported-by: syzbot+29f65db1a5fe427b5c56@syzkaller.appspotmail.com
Fixes: 55936afe ("bcachefs: Flag btrees with missing data")
Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 9667214b
......@@ -1555,6 +1555,12 @@ enum btree_id {
BTREE_ID_NR
};
/*
* Maximum number of btrees that we will _ever_ have under the current scheme,
* where we refer to them with bitfields
*/
#define BTREE_ID_NR_MAX 64
static inline bool btree_id_is_alloc(enum btree_id id)
{
switch (id) {
......
......@@ -35,6 +35,9 @@
void bch2_btree_lost_data(struct bch_fs *c, enum btree_id btree)
{
if (btree >= BTREE_ID_NR_MAX)
return;
u64 b = BIT_ULL(btree);
if (!(c->sb.btrees_lost_data & b)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment