On Thu, Aug 27, 2026 at 09:07:16AM -0700, Linlin Zhang wrote:
> From: linlzhan <[email protected]>
> 
> 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 <[email protected]>
> ---
>  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

Reply via email to