fscrypt: move fscrypt_valid_enc_modes() to policy.c
fscrypt_valid_enc_modes() is only used by policy.c, so move it to there. Also adjust the order of the checks to be more natural, matching the numerical order of the constants and also keeping AES-256 (the recommended default) first in the list. No change in behavior. Link: https://lore.kernel.org/r/20191209211829.239800-4-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@google.com>
This commit is contained in:
parent
85af90e57c
commit
ef5b18b00b
@ -206,24 +206,6 @@ typedef enum {
|
|||||||
FS_ENCRYPT,
|
FS_ENCRYPT,
|
||||||
} fscrypt_direction_t;
|
} fscrypt_direction_t;
|
||||||
|
|
||||||
static inline bool fscrypt_valid_enc_modes(u32 contents_mode,
|
|
||||||
u32 filenames_mode)
|
|
||||||
{
|
|
||||||
if (contents_mode == FSCRYPT_MODE_AES_128_CBC &&
|
|
||||||
filenames_mode == FSCRYPT_MODE_AES_128_CTS)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if (contents_mode == FSCRYPT_MODE_AES_256_XTS &&
|
|
||||||
filenames_mode == FSCRYPT_MODE_AES_256_CTS)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if (contents_mode == FSCRYPT_MODE_ADIANTUM &&
|
|
||||||
filenames_mode == FSCRYPT_MODE_ADIANTUM)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* crypto.c */
|
/* crypto.c */
|
||||||
extern struct kmem_cache *fscrypt_info_cachep;
|
extern struct kmem_cache *fscrypt_info_cachep;
|
||||||
extern int fscrypt_initialize(unsigned int cop_flags);
|
extern int fscrypt_initialize(unsigned int cop_flags);
|
||||||
|
@ -29,6 +29,23 @@ bool fscrypt_policies_equal(const union fscrypt_policy *policy1,
|
|||||||
return !memcmp(policy1, policy2, fscrypt_policy_size(policy1));
|
return !memcmp(policy1, policy2, fscrypt_policy_size(policy1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool fscrypt_valid_enc_modes(u32 contents_mode, u32 filenames_mode)
|
||||||
|
{
|
||||||
|
if (contents_mode == FSCRYPT_MODE_AES_256_XTS &&
|
||||||
|
filenames_mode == FSCRYPT_MODE_AES_256_CTS)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if (contents_mode == FSCRYPT_MODE_AES_128_CBC &&
|
||||||
|
filenames_mode == FSCRYPT_MODE_AES_128_CTS)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if (contents_mode == FSCRYPT_MODE_ADIANTUM &&
|
||||||
|
filenames_mode == FSCRYPT_MODE_ADIANTUM)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
static bool supported_direct_key_modes(const struct inode *inode,
|
static bool supported_direct_key_modes(const struct inode *inode,
|
||||||
u32 contents_mode, u32 filenames_mode)
|
u32 contents_mode, u32 filenames_mode)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user