Re: [PATCH v1 07/11] blk-crypto: move bio_crypt_dun_increment() to the public header

From: Stefan Hajnoczi

Date: Tue Sep 01 2026 - 15:33:24 EST


On Thu, Aug 27, 2026 at 09:07:16AM -0700, Linlin Zhang wrote:
> From: linlzhan <linlin.zhang@xxxxxxxxxxxxxxxx>
>
> 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 <linlin.zhang@xxxxxxxxxxxxxxxx>
> ---
> 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?

>
> 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
>

Attachment: signature.asc
Description: PGP signature