39 lines
1.4 KiB
Diff
39 lines
1.4 KiB
Diff
From 1b1f8623fbdcc0fc2ea1c087e146f77e30e94b1b Mon Sep 17 00:00:00 2001
|
|
From: Kent Overstreet <kent.overstreet@linux.dev>
|
|
Date: Thu, 28 Nov 2024 17:57:55 -0500
|
|
Subject: [PATCH 144/233] bcachefs: cryptographic MACs on superblock are not
|
|
(yet?) supported
|
|
Content-Type: text/plain; charset="utf-8"
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
We should add support for cryptographic macs on the superblock - and it
|
|
won't be hard, but it'll need an incompatible feature bit (and we have a
|
|
new incompatible feature versioning scheme coming).
|
|
|
|
For now, just add a guard to avoid a dull ptr deref in gen_poly_key().
|
|
|
|
Reported-by: syzbot+dd3d9835055dacb66f35@syzkaller.appspotmail.com
|
|
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
|
Signed-off-by: Alexander Miroshnichenko <alex@millerson.name>
|
|
---
|
|
fs/bcachefs/super-io.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/fs/bcachefs/super-io.c b/fs/bcachefs/super-io.c
|
|
index 4c29f8215d54..6a086c1c4b14 100644
|
|
--- a/fs/bcachefs/super-io.c
|
|
+++ b/fs/bcachefs/super-io.c
|
|
@@ -677,7 +677,8 @@ static int read_one_super(struct bch_sb_handle *sb, u64 offset, struct printbuf
|
|
}
|
|
|
|
enum bch_csum_type csum_type = BCH_SB_CSUM_TYPE(sb->sb);
|
|
- if (csum_type >= BCH_CSUM_NR) {
|
|
+ if (csum_type >= BCH_CSUM_NR ||
|
|
+ bch2_csum_type_is_encryption(csum_type)) {
|
|
prt_printf(err, "unknown checksum type %llu", BCH_SB_CSUM_TYPE(sb->sb));
|
|
return -BCH_ERR_invalid_sb_csum_type;
|
|
}
|
|
--
|
|
2.45.2
|
|
|