From: Eric Biggers via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: linux-fscrypt@vger.kernel.org
Cc: Ritesh Harjani <ritesh.list@gmail.com>,
Theodore Ts'o <tytso@mit.edu>, Zhang Yi <yi.zhang@huawei.com>,
linux-f2fs-devel@lists.sourceforge.net,
linux-block@vger.kernel.org,
Andreas Dilger <adilger.kernel@dilger.ca>,
Ojaswin Mujoo <ojaswin@linux.ibm.com>,
Baokun Li <libaokun@linux.alibaba.com>,
Jaegeuk Kim <jaegeuk@kernel.org>,
linux-fsdevel@vger.kernel.org, Jan Kara <jack@suse.cz>,
linux-ext4@vger.kernel.org, Christoph Hellwig <hch@lst.de>,
Eric Biggers <ebiggers@kernel.org>
Subject: [f2fs-dev] [PATCH 02/16] blk-crypto: Fold __blk_crypto_cfg_supported() into its caller
Date: Tue, 23 Jun 2026 22:03:20 -0700 [thread overview]
Message-ID: <20260624050334.124606-3-ebiggers@kernel.org> (raw)
In-Reply-To: <20260624050334.124606-1-ebiggers@kernel.org>
__blk_crypto_cfg_supported() is called only by
blk_crypto_config_supported_natively(), so fold it in.
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
---
block/blk-crypto-profile.c | 22 ----------------------
block/blk-crypto.c | 23 +++++++++++++++++++++--
2 files changed, 21 insertions(+), 24 deletions(-)
diff --git a/block/blk-crypto-profile.c b/block/blk-crypto-profile.c
index cf447ba4a66e..53126c091b0b 100644
--- a/block/blk-crypto-profile.c
+++ b/block/blk-crypto-profile.c
@@ -333,32 +333,10 @@ void blk_crypto_put_keyslot(struct blk_crypto_keyslot *slot)
spin_unlock_irqrestore(&profile->idle_slots_lock, flags);
wake_up(&profile->idle_slots_wait_queue);
}
}
-/**
- * __blk_crypto_cfg_supported() - Check whether the given crypto profile
- * supports the given crypto configuration.
- * @profile: the crypto profile to check
- * @cfg: the crypto configuration to check for
- *
- * Return: %true if @profile supports the given @cfg.
- */
-bool __blk_crypto_cfg_supported(struct blk_crypto_profile *profile,
- const struct blk_crypto_config *cfg)
-{
- if (!profile)
- return false;
- if (!(profile->modes_supported[cfg->crypto_mode] & cfg->data_unit_size))
- return false;
- if (profile->max_dun_bytes_supported < cfg->dun_bytes)
- return false;
- if (!(profile->key_types_supported & cfg->key_type))
- return false;
- return true;
-}
-
/*
* This is an internal function that evicts a key from an inline encryption
* device that can be either a real device or the blk-crypto-fallback "device".
* It is used only by blk_crypto_evict_key(); see that function for details.
*/
diff --git a/block/blk-crypto.c b/block/blk-crypto.c
index 15e25e41b166..dd83fc5af282 100644
--- a/block/blk-crypto.c
+++ b/block/blk-crypto.c
@@ -349,15 +349,34 @@ int blk_crypto_init_key(struct blk_crypto_key *blk_key,
return 0;
}
EXPORT_SYMBOL_GPL(blk_crypto_init_key);
+
+/**
+ * blk_crypto_config_supported_natively() - Check whether a block device
+ * supports hardware inline encryption
+ * with the given configuration.
+ * @bdev: the block device
+ * @cfg: the crypto configuration to check for
+ *
+ * Return: %true if @bdev supports hardware inline encryption with @cfg.
+ */
bool blk_crypto_config_supported_natively(struct block_device *bdev,
const struct blk_crypto_config *cfg)
{
- return __blk_crypto_cfg_supported(bdev_get_queue(bdev)->crypto_profile,
- cfg);
+ struct blk_crypto_profile *profile = bdev_get_queue(bdev)->crypto_profile;
+
+ if (!profile)
+ return false;
+ if (!(profile->modes_supported[cfg->crypto_mode] & cfg->data_unit_size))
+ return false;
+ if (profile->max_dun_bytes_supported < cfg->dun_bytes)
+ return false;
+ if (!(profile->key_types_supported & cfg->key_type))
+ return false;
+ return true;
}
/*
* Check if bios with @cfg can be en/decrypted by blk-crypto (i.e. either the
* block_device it's submitted to supports inline crypto, or the
--
2.54.0
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next prev parent reply other threads:[~2026-06-24 5:06 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-24 5:03 [f2fs-dev] [PATCH 00/16] fscrypt: Standardize on blk-crypto Eric Biggers via Linux-f2fs-devel
2026-06-24 5:03 ` [f2fs-dev] [PATCH 01/16] blk-crypto: Simplify check for fallback support Eric Biggers via Linux-f2fs-devel
2026-06-26 5:17 ` Christoph Hellwig
2026-06-24 5:03 ` Eric Biggers via Linux-f2fs-devel [this message]
2026-06-26 5:17 ` [f2fs-dev] [PATCH 02/16] blk-crypto: Fold __blk_crypto_cfg_supported() into its caller Christoph Hellwig
2026-06-24 5:03 ` [f2fs-dev] [PATCH 03/16] blk-crypto: Allow control over whether hardware is used Eric Biggers via Linux-f2fs-devel
2026-06-26 5:18 ` Christoph Hellwig
2026-06-24 5:03 ` [f2fs-dev] [PATCH 04/16] fscrypt: Fully disallow IV_INO_LBLK_32 with s_blocksize != PAGE_SIZE Eric Biggers via Linux-f2fs-devel
2026-06-26 5:18 ` Christoph Hellwig
2026-06-24 5:03 ` [f2fs-dev] [PATCH 05/16] fscrypt: Always use blk-crypto for contents on block-based filesystems Eric Biggers via Linux-f2fs-devel
2026-06-26 5:23 ` Christoph Hellwig
2026-06-24 5:03 ` [f2fs-dev] [PATCH 06/16] ext4: Remove fs-layer file contents en/decryption code Eric Biggers via Linux-f2fs-devel
2026-06-26 5:24 ` Christoph Hellwig
2026-06-24 5:03 ` [f2fs-dev] [PATCH 07/16] ext4: Make ext4_bio_write_folio() return void Eric Biggers via Linux-f2fs-devel
2026-06-26 5:25 ` Christoph Hellwig
2026-06-24 5:03 ` [f2fs-dev] [PATCH 08/16] ext4: Further de-generalize the bio postprocessing code Eric Biggers via Linux-f2fs-devel
2026-06-26 5:26 ` Christoph Hellwig
2026-06-24 5:03 ` [f2fs-dev] [PATCH 09/16] f2fs: Remove fs-layer file contents en/decryption code Eric Biggers via Linux-f2fs-devel
2026-06-24 5:03 ` [f2fs-dev] [PATCH 10/16] fs/buffer: Remove fs-layer decryption code Eric Biggers via Linux-f2fs-devel
2026-06-24 11:40 ` Jan Kara
2026-06-25 7:01 ` Christian Brauner via Linux-f2fs-devel
2026-06-26 5:26 ` Christoph Hellwig
2026-06-24 5:03 ` [f2fs-dev] [PATCH 11/16] fscrypt: Replace calls to fscrypt_inode_uses_inline_crypto() Eric Biggers via Linux-f2fs-devel
2026-06-26 5:27 ` Christoph Hellwig
2026-06-24 5:03 ` [f2fs-dev] [PATCH 12/16] fscrypt: Remove fscrypt_dio_supported() Eric Biggers via Linux-f2fs-devel
2026-06-26 5:28 ` Christoph Hellwig
2026-06-24 5:03 ` [f2fs-dev] [PATCH 13/16] fscrypt: Remove fs-layer zeroout code Eric Biggers via Linux-f2fs-devel
2026-06-26 5:28 ` Christoph Hellwig
2026-06-24 5:03 ` [f2fs-dev] [PATCH 14/16] fscrypt: Remove unused functions and workqueue Eric Biggers via Linux-f2fs-devel
2026-06-26 5:28 ` Christoph Hellwig
2026-06-24 5:03 ` [f2fs-dev] [PATCH 15/16] fscrypt: Merge bio.c and inline_crypt.c into block.c Eric Biggers via Linux-f2fs-devel
2026-06-26 5:32 ` Christoph Hellwig
2026-06-24 5:03 ` [f2fs-dev] [PATCH 16/16] fscrypt: Add safety checks to non-block-based en/decryption Eric Biggers via Linux-f2fs-devel
2026-06-26 5:33 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260624050334.124606-3-ebiggers@kernel.org \
--to=linux-f2fs-devel@lists.sourceforge.net \
--cc=adilger.kernel@dilger.ca \
--cc=ebiggers@kernel.org \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--cc=jaegeuk@kernel.org \
--cc=libaokun@linux.alibaba.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fscrypt@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=ojaswin@linux.ibm.com \
--cc=ritesh.list@gmail.com \
--cc=tytso@mit.edu \
--cc=yi.zhang@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox