diff options
author | Eric Biggers <ebiggers@google.com> | 2023-03-15 21:39:06 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-03-16 18:35:09 +0300 |
commit | 5b8562f0e87b9bc7e581fc482e5a242885f79b88 (patch) | |
tree | 3fb54ae632f73d4aaec167f2949c6a4db313e4b0 /block/blk-mq.c | |
parent | 435c0e999689b7f383d0a27978cdaa08669cf134 (diff) | |
download | linux-5b8562f0e87b9bc7e581fc482e5a242885f79b88.tar.xz |
blk-mq: return actual keyslot error in blk_insert_cloned_request()
To avoid hiding information, pass on the error code from
blk_crypto_rq_get_keyslot() instead of always using BLK_STS_IOERR.
Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20230315183907.53675-2-ebiggers@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-mq.c')
-rw-r--r-- | block/blk-mq.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c index 5e819de2f5e7..a875b1cdff9b 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -3049,8 +3049,9 @@ blk_status_t blk_insert_cloned_request(struct request *rq) if (q->disk && should_fail_request(q->disk->part0, blk_rq_bytes(rq))) return BLK_STS_IOERR; - if (blk_crypto_rq_get_keyslot(rq)) - return BLK_STS_IOERR; + ret = blk_crypto_rq_get_keyslot(rq); + if (ret != BLK_STS_OK) + return ret; blk_account_io_start(rq); |