]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
blk-crypto: use BLK_STS_INVAL for alignment errors
authorCarlos Llamas <cmllamas@google.com>
Thu, 30 Oct 2025 04:39:18 +0000 (04:39 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Dec 2025 10:43:36 +0000 (11:43 +0100)
[ Upstream commit 0b39ca457241aeca07a613002512573e8804f93a ]

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/
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>
block/blk-crypto.c

index 4d760b092deb93ab678365fb6acb3464a5f6df35..7a0bd086a194bb42fe4fcfb53ab78d37f8566321 100644 (file)
@@ -282,7 +282,7 @@ bool __blk_crypto_bio_prep(struct bio **bio_ptr)
        }
 
        if (!bio_crypt_check_alignment(bio)) {
-               bio->bi_status = BLK_STS_IOERR;
+               bio->bi_status = BLK_STS_INVAL;
                goto fail;
        }