blk-crypto: use BLK_STS_INVAL for alignment errors

[ Upstream commit 0b39ca4572 ]

Make __blk_crypto_bio_prep() propagate BLK_STS_INVAL when IO segments
fail the data unit alignment check.

This was flagged by an LTP test that expects EINVAL when performing an
O_DIRECT read with a misaligned buffer [1].

Cc: Eric Biggers <ebiggers@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/all/aP-c5gPjrpsn0vJA@google.com/ [1]
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Reviewed-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Carlos Llamas
2025-10-30 04:39:18 +00:00
committed by Greg Kroah-Hartman
parent 74bf749662
commit 1f0f07fd8f

View File

@@ -282,7 +282,7 @@ bool __blk_crypto_bio_prep(struct bio **bio_ptr)
} }
if (!bio_crypt_check_alignment(bio)) { if (!bio_crypt_check_alignment(bio)) {
bio->bi_status = BLK_STS_IOERR; bio->bi_status = BLK_STS_INVAL;
goto fail; goto fail;
} }