Message ID | 20210325212609.492188-6-satyat@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ensure bios aren't split in middle of crypto data unit | expand |
On Thu, Mar 25, 2021 at 09:26:06PM +0000, Satya Tangirala wrote: > Make blk_crypto_split_bio_if_needed() respect > bio_required_sector_alignment() when calling bio_split(). > A bit more explanation would be helpful here. Does this fix something, and if so what is it and under what circumstances? - Eric
diff --git a/block/blk-crypto-fallback.c b/block/blk-crypto-fallback.c index c322176a1e09..85c813ef670b 100644 --- a/block/blk-crypto-fallback.c +++ b/block/blk-crypto-fallback.c @@ -19,6 +19,7 @@ #include <linux/module.h> #include <linux/random.h> +#include "blk.h" #include "blk-crypto-internal.h" static unsigned int num_prealloc_bounce_pg = 32; @@ -225,6 +226,8 @@ static bool blk_crypto_split_bio_if_needed(struct bio **bio_ptr) if (num_sectors < bio_sectors(bio)) { struct bio *split_bio; + num_sectors = round_down(num_sectors, + bio_required_sector_alignment(bio)); split_bio = bio_split(bio, num_sectors, GFP_NOIO, &crypto_bio_split); if (!split_bio) {
Make blk_crypto_split_bio_if_needed() respect bio_required_sector_alignment() when calling bio_split(). Signed-off-by: Satya Tangirala <satyat@google.com> --- block/blk-crypto-fallback.c | 3 +++ 1 file changed, 3 insertions(+)