From: Kent Overstreet Date: Mon, 11 Nov 2024 21:15:15 +0000 (-0500) Subject: bcachefs: Fix assertion pop in bch2_ptr_swab() X-Git-Tag: v6.12~16^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=840c2fbcc5cd33ba8fab180f09da0bb7f354ea71;p=thirdparty%2Fkernel%2Flinux.git bcachefs: Fix assertion pop in bch2_ptr_swab() This runs on extents that haven't yet been validated, so we don't want to assert that we have a valid entry type. Reported-by: syzbot+4f29c3f12f864d8a8d17@syzkaller.appspotmail.com Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/extents.c b/fs/bcachefs/extents.c index c4e91d1238496..37e3d69bec06a 100644 --- a/fs/bcachefs/extents.c +++ b/fs/bcachefs/extents.c @@ -1364,7 +1364,7 @@ void bch2_ptr_swab(struct bkey_s k) for (entry = ptrs.start; entry < ptrs.end; entry = extent_entry_next(entry)) { - switch (extent_entry_type(entry)) { + switch (__extent_entry_type(entry)) { case BCH_EXTENT_ENTRY_ptr: break; case BCH_EXTENT_ENTRY_crc32: @@ -1384,6 +1384,9 @@ void bch2_ptr_swab(struct bkey_s k) break; case BCH_EXTENT_ENTRY_rebalance: break; + default: + /* Bad entry type: will be caught by validate() */ + return; } } }