diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-05-19 23:08:15 +0200 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-05-20 11:37:26 +0200 |
commit | f108ddd467b5cad84a6d93cdd0a251ba47ceaccb (patch) | |
tree | 36562cd2ce0b1b5af3bb10bb7fbfa1202417060d /fs/bcachefs/recovery.c | |
parent | bcachefs: Fix ref in trans_mark_dev_sbs() error path (diff) | |
download | linux-f108ddd467b5cad84a6d93cdd0a251ba47ceaccb.tar.xz linux-f108ddd467b5cad84a6d93cdd0a251ba47ceaccb.zip |
bcachefs: Fix shift overflow in btree_lost_data()
Reported-by: syzbot+29f65db1a5fe427b5c56@syzkaller.appspotmail.com
Fixes: 55936afe1107 ("bcachefs: Flag btrees with missing data")
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/recovery.c')
-rw-r--r-- | fs/bcachefs/recovery.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/bcachefs/recovery.c b/fs/bcachefs/recovery.c index 1266916ac03f..63f990f5c63a 100644 --- a/fs/bcachefs/recovery.c +++ b/fs/bcachefs/recovery.c @@ -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)) { |