On Tue, Jun 10, 2025 at 05:18:03PM -0600, Keith Busch wrote: > @@ -124,9 +124,10 @@ static struct bio *bio_submit_split(struct bio *bio, int split_sectors) > trace_block_split(split, bio->bi_iter.bi_sector); > WARN_ON_ONCE(bio_zone_write_plugging(bio)); > submit_bio_noacct(bio); > - return split; > + bio = split; > } > > + blk_crypto_bio_prep(&bio); Eh, this part needs to handle the error condition: + if (!blk_crypto_bio_prep(&bio)) + return NULL; Happy to make a formal patch out of this if this approach is promising. I think it aligns with the spirit of what Christoph was suggesting, at least.