]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bcachefs: Fix nonce inconsistency in bch2_write_prep_encoded_data()
authorKent Overstreet <kent.overstreet@linux.dev>
Tue, 25 Mar 2025 15:40:35 +0000 (11:40 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Tue, 25 Mar 2025 15:40:35 +0000 (11:40 -0400)
commit5af61dbd96275e184adcfe615507b0f04ed7b328
treedf894b7ef8d64073045b6df92518a79b548b10a2
parentd8bdc8daac1d1b0a4efb1ecc69bef4eb4fc5e050
bcachefs: Fix nonce inconsistency in bch2_write_prep_encoded_data()

If we're moving an extent that was partially overwritten,
bch2_write_rechecksum() will trim it to the currenty live range.

If we then also want to compress it, it'll be decrypted - but the nonce
has been advanced for the overwritten start of the extent that we
dropped, and we were using the nonce we calculated before rechecksum().

Reported-by: Gabriel de Perthuis <g2p.code@gmail.com>
Fixes: 127d90d2823e ("bcachefs: bch2_write_prep_encoded_data() now returns errcode")
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/io_write.c