Commit a0bd30e4 authored by Kent Overstreet's avatar Kent Overstreet
Browse files

bcachefs: Fix shift greater than integer size

parent 600b8be5
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -660,8 +660,9 @@ int bch2_bkey_format_invalid(struct bch_fs *c,
		    bch2_bkey_format_field_overflows(f, i)) {
			unsigned unpacked_bits = bch2_bkey_format_current.bits_per_field[i];
			u64 unpacked_max = ~((~0ULL << 1) << (unpacked_bits - 1));
			u64 packed_max = f->bits_per_field[i]
				? ~((~0ULL << 1) << (f->bits_per_field[i] - 1))
			unsigned packed_bits = min(64, f->bits_per_field[i]);
			u64 packed_max = packed_bits
				? ~((~0ULL << 1) << (packed_bits - 1))
				: 0;

			prt_printf(err, "field %u too large: %llu + %llu > %llu",