Re: [PATCH v1 07/11] blk-crypto: move bio_crypt_dun_increment() to the public header
flat view
From: Linlin Zhang <hidden>
Date: 2026-09-02 06:03:08
Also in:
linux-arm-msm, linux-block, linux-crypto, linux-devicetree, linux-scsi, lkml
On 9/2/2026 3:13 AM, Stefan Hajnoczi wrote:
On Thu, Aug 27, 2026 at 09:07:16AM -0700, Linlin Zhang wrote:quoted
From: linlzhan <redacted> bio_crypt_dun_increment() is currently declared only in block/blk-crypto-internal.h, which is not accessible to code outside of block/. Drivers that manage inline-encrypted I/O directly need to advance the DUN across bio_vecs within a bio, or across multiple bios in a request, and have no other way to call this function. Move the declaration from block/blk-crypto-internal.h to include/linux/blk-crypto.h alongside the existing bio_crypt_dun_is_contiguous() and blk_crypto_init_key() declarations. The implementation in block/blk-crypto.c is unchanged. Signed-off-by: linlzhan <redacted> --- block/blk-crypto-internal.h | 3 --- include/linux/blk-crypto.h | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-)Other include/linux/blk-crypto.h functions export their symbols. Does bio_crypt_dun_increment() need EXPORT_SYMBOL_GPL() like bio_crypt_set_ctx() and friends?
ACK your're right. EXPORT_SYMBOL_GPL is needed. It will be added in next patch.
quoted
diff --git a/block/blk-crypto-internal.h b/block/blk-crypto-internal.h index 04035d237f03..32c720aabba7 100644 --- a/block/blk-crypto-internal.h +++ b/block/blk-crypto-internal.h@@ -26,9 +26,6 @@ int blk_crypto_sysfs_register(struct gendisk *disk); void blk_crypto_sysfs_unregister(struct gendisk *disk); -void bio_crypt_dun_increment(u64 dun[BLK_CRYPTO_DUN_ARRAY_SIZE], - unsigned int inc); - bool bio_crypt_rq_ctx_compatible(struct request *rq, struct bio *bio); bool bio_crypt_ctx_mergeable(struct bio_crypt_ctx *bc1, unsigned int bc1_bytes,diff --git a/include/linux/blk-crypto.h b/include/linux/blk-crypto.h index 33ae52b77522..c9f436b6b2ef 100644 --- a/include/linux/blk-crypto.h +++ b/include/linux/blk-crypto.h@@ -181,6 +181,9 @@ bool bio_crypt_dun_is_contiguous(const struct bio_crypt_ctx *bc, unsigned int bytes, const u64 next_dun[BLK_CRYPTO_DUN_ARRAY_SIZE]); +void bio_crypt_dun_increment(u64 dun[BLK_CRYPTO_DUN_ARRAY_SIZE], + unsigned int inc); + int blk_crypto_init_key(struct blk_crypto_key *blk_key, const u8 *key_bytes, size_t key_size, enum blk_crypto_key_type key_type,-- 2.34.1