summaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/ec.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-04-11 23:37:24 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2024-04-13 22:48:16 -0400
commit2aeed876d7c2c2fb4c6b92f59bdf7e73cfe5e098 (patch)
tree45bbafdac12ac5b3649f37caa67c1ddbc02a446f /fs/bcachefs/ec.h
parentdc32c118ec6b1032693c489a0aa9e011f0acdb1a (diff)
downloadlinux-2aeed876d7c2c2fb4c6b92f59bdf7e73cfe5e098.tar.gz
linux-2aeed876d7c2c2fb4c6b92f59bdf7e73cfe5e098.tar.bz2
linux-2aeed876d7c2c2fb4c6b92f59bdf7e73cfe5e098.zip
bcachefs: fix unsafety in bch2_stripe_to_text()
.to_text() functions need to work on key values that didn't pass .valid Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/ec.h')
-rw-r--r--fs/bcachefs/ec.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/bcachefs/ec.h b/fs/bcachefs/ec.h
index f4369b02e805..f042616888b0 100644
--- a/fs/bcachefs/ec.h
+++ b/fs/bcachefs/ec.h
@@ -32,6 +32,8 @@ static inline unsigned stripe_csums_per_device(const struct bch_stripe *s)
static inline unsigned stripe_csum_offset(const struct bch_stripe *s,
unsigned dev, unsigned csum_idx)
{
+ EBUG_ON(s->csum_type >= BCH_CSUM_NR);
+
unsigned csum_bytes = bch_crc_bytes[s->csum_type];
return sizeof(struct bch_stripe) +