fscrypt: move fscrypt_valid_enc_modes() to fscrypt_private.h
The encryption modes are validated by fs/crypto/, not by individual filesystems. Therefore, move fscrypt_valid_enc_modes() from fscrypt.h to fscrypt_private.h. Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>hifive-unleashed-5.1
parent
bdd2347647
commit
bb8179e5a8
|
@ -71,6 +71,20 @@ typedef enum {
|
||||||
#define FS_CTX_REQUIRES_FREE_ENCRYPT_FL 0x00000001
|
#define FS_CTX_REQUIRES_FREE_ENCRYPT_FL 0x00000001
|
||||||
#define FS_CTX_HAS_BOUNCE_BUFFER_FL 0x00000002
|
#define FS_CTX_HAS_BOUNCE_BUFFER_FL 0x00000002
|
||||||
|
|
||||||
|
static inline bool fscrypt_valid_enc_modes(u32 contents_mode,
|
||||||
|
u32 filenames_mode)
|
||||||
|
{
|
||||||
|
if (contents_mode == FS_ENCRYPTION_MODE_AES_128_CBC &&
|
||||||
|
filenames_mode == FS_ENCRYPTION_MODE_AES_128_CTS)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if (contents_mode == FS_ENCRYPTION_MODE_AES_256_XTS &&
|
||||||
|
filenames_mode == FS_ENCRYPTION_MODE_AES_256_CTS)
|
||||||
|
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);
|
||||||
|
|
|
@ -57,20 +57,6 @@ struct fscrypt_name {
|
||||||
/* Maximum value for the third parameter of fscrypt_operations.set_context(). */
|
/* Maximum value for the third parameter of fscrypt_operations.set_context(). */
|
||||||
#define FSCRYPT_SET_CONTEXT_MAX_SIZE 28
|
#define FSCRYPT_SET_CONTEXT_MAX_SIZE 28
|
||||||
|
|
||||||
static inline bool fscrypt_valid_enc_modes(u32 contents_mode,
|
|
||||||
u32 filenames_mode)
|
|
||||||
{
|
|
||||||
if (contents_mode == FS_ENCRYPTION_MODE_AES_128_CBC &&
|
|
||||||
filenames_mode == FS_ENCRYPTION_MODE_AES_128_CTS)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if (contents_mode == FS_ENCRYPTION_MODE_AES_256_XTS &&
|
|
||||||
filenames_mode == FS_ENCRYPTION_MODE_AES_256_CTS)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline bool fscrypt_is_dot_dotdot(const struct qstr *str)
|
static inline bool fscrypt_is_dot_dotdot(const struct qstr *str)
|
||||||
{
|
{
|
||||||
if (str->len == 1 && str->name[0] == '.')
|
if (str->len == 1 && str->name[0] == '.')
|
||||||
|
|
Loading…
Reference in New Issue