Checksum for types BCH_CSUM_chacha20_poly1305_80 and BCH_CSUM_chacha20_poly1305_128 are only computed when c is not NULL because they require the chacha20 cypher stored in c
Reported-by: [email protected] Signed-off-by: Camila Alvarez <[email protected]> --- fs/bcachefs/checksum.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/bcachefs/checksum.c b/fs/bcachefs/checksum.c index 3bd3aba90d8f..77b29c73d7a0 100644 --- a/fs/bcachefs/checksum.c +++ b/fs/bcachefs/checksum.c @@ -220,10 +220,11 @@ struct bch_csum bch2_checksum(struct bch_fs *c, unsigned type, case BCH_CSUM_chacha20_poly1305_80: case BCH_CSUM_chacha20_poly1305_128: { + struct bch_csum ret = { 0 }; + if (!c) + return ret; SHASH_DESC_ON_STACK(desc, c->poly1305); u8 digest[POLY1305_DIGEST_SIZE]; - struct bch_csum ret = { 0 }; - gen_poly_key(c, desc, nonce); crypto_shash_update(desc, data, len); -- 2.34.1
