Linux FSCRYPT development
 help / color / mirror / Atom feed
* [PATCH] fscrypt: to make sure the inode->i_blkbits is correctly set
@ 2024-01-25  4:48 xiubli
  2024-01-27  6:37 ` Eric Biggers
  0 siblings, 1 reply; 3+ messages in thread
From: xiubli @ 2024-01-25  4:48 UTC (permalink / raw)
  To: linux-fscrypt
  Cc: ebiggers, tytso, jaegeuk, linux-kernel, idryomov, ceph-devel,
	jlayton, vshankar, Xiubo Li

From: Xiubo Li <xiubli@redhat.com>

The inode->i_blkbits should be already set before calling
fscrypt_get_encryption_info() and it will be used this to setup the
ci_data_unit_bits.

Signed-off-by: Xiubo Li <xiubli@redhat.com>
---
 fs/crypto/keysetup.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/fs/crypto/keysetup.c b/fs/crypto/keysetup.c
index d71f7c799e79..909187e52bae 100644
--- a/fs/crypto/keysetup.c
+++ b/fs/crypto/keysetup.c
@@ -702,6 +702,9 @@ int fscrypt_get_encryption_info(struct inode *inode, bool allow_unsupported)
  * This doesn't persist the new inode's encryption context.  That still needs to
  * be done later by calling fscrypt_set_context().
  *
+ * Please note that the inode->i_blkbits should be already set before calling
+ * this and later it will be used to setup the ci_data_unit_bits.
+ *
  * Return: 0 on success, -ENOKEY if the encryption key is missing, or another
  *	   -errno code
  */
@@ -717,6 +720,9 @@ int fscrypt_prepare_new_inode(struct inode *dir, struct inode *inode,
 	if (IS_ERR(policy))
 		return PTR_ERR(policy);
 
+	if (WARN_ON_ONCE(inode->i_blkbits == 0))
+		return -EINVAL;
+
 	if (WARN_ON_ONCE(inode->i_mode == 0))
 		return -EINVAL;
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-02-01  0:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-25  4:48 [PATCH] fscrypt: to make sure the inode->i_blkbits is correctly set xiubli
2024-01-27  6:37 ` Eric Biggers
2024-02-01  0:26   ` Xiubo Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox