diff --git a/fs/bcachefs/super-io.c b/fs/bcachefs/super-io.c index ce7410d72089..428172897501 100644 --- a/fs/bcachefs/super-io.c +++ b/fs/bcachefs/super-io.c @@ -287,7 +287,7 @@ static int validate_sb_layout(struct bch_sb_layout *layout, struct printbuf *out return -BCH_ERR_invalid_sb_layout_nr_superblocks; } - max_sectors = 1 << layout->sb_max_size_bits; + max_sectors = 1 << min(BCH_SB_LAYOUT_SIZE_BITS_MAX, layout->sb_max_size_bits); prev_offset = le64_to_cpu(layout->sb_offset[0]);