fscrypt_infoRegular
4.4: Absent ⚠️
4.8: ✅struct fscrypt_info {
u8 ci_data_mode;
u8 ci_filename_mode;
u8 ci_flags;
struct crypto_skcipher *ci_ctfm;
struct key *ci_keyring_key;
u8 ci_master_key[8];
};
4.10: ✅struct fscrypt_info {
u8 ci_data_mode;
u8 ci_filename_mode;
u8 ci_flags;
struct crypto_skcipher *ci_ctfm;
u8 ci_master_key[8];
};
4.13: ✅struct fscrypt_info {
u8 ci_data_mode;
u8 ci_filename_mode;
u8 ci_flags;
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
u8 ci_master_key[8];
};
4.15: ✅struct fscrypt_info {
u8 ci_data_mode;
u8 ci_filename_mode;
u8 ci_flags;
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
u8 ci_master_key[8];
};
4.18: ✅struct fscrypt_info {
u8 ci_data_mode;
u8 ci_filename_mode;
u8 ci_flags;
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
u8 ci_master_key[8];
};
5.0: ✅struct fscrypt_info {
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
struct fscrypt_mode *ci_mode;
struct fscrypt_master_key *ci_master_key;
u8 ci_data_mode;
u8 ci_filename_mode;
u8 ci_flags;
u8 ci_master_key_descriptor[8];
u8 ci_nonce[16];
};
5.3: ✅struct fscrypt_info {
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
struct fscrypt_mode *ci_mode;
struct fscrypt_master_key *ci_master_key;
u8 ci_data_mode;
u8 ci_filename_mode;
u8 ci_flags;
u8 ci_master_key_descriptor[8];
u8 ci_nonce[16];
};
5.4: ✅struct fscrypt_info {
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
};
5.8: ✅struct fscrypt_info {
struct crypto_skcipher *ci_ctfm;
bool ci_owns_key;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
siphash_key_t ci_dirhash_key;
bool ci_dirhash_key_initialized;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
u32 ci_hashed_ino;
};
5.11: ✅struct fscrypt_info {
struct fscrypt_prepared_key ci_enc_key;
bool ci_owns_key;
bool ci_inlinecrypt;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
siphash_key_t ci_dirhash_key;
bool ci_dirhash_key_initialized;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
u32 ci_hashed_ino;
};
5.13: ✅struct fscrypt_info {
struct fscrypt_prepared_key ci_enc_key;
bool ci_owns_key;
bool ci_inlinecrypt;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
siphash_key_t ci_dirhash_key;
bool ci_dirhash_key_initialized;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
u32 ci_hashed_ino;
};
5.15: ✅struct fscrypt_info {
struct fscrypt_prepared_key ci_enc_key;
bool ci_owns_key;
bool ci_inlinecrypt;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
siphash_key_t ci_dirhash_key;
bool ci_dirhash_key_initialized;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
u32 ci_hashed_ino;
};
5.19: ✅struct fscrypt_info {
struct fscrypt_prepared_key ci_enc_key;
bool ci_owns_key;
bool ci_inlinecrypt;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
siphash_key_t ci_dirhash_key;
bool ci_dirhash_key_initialized;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
u32 ci_hashed_ino;
};
6.2: ✅struct fscrypt_info {
struct fscrypt_prepared_key ci_enc_key;
bool ci_owns_key;
bool ci_inlinecrypt;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct fscrypt_master_key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
siphash_key_t ci_dirhash_key;
bool ci_dirhash_key_initialized;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
u32 ci_hashed_ino;
};
6.5: ✅struct fscrypt_info {
struct fscrypt_prepared_key ci_enc_key;
bool ci_owns_key;
bool ci_inlinecrypt;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct fscrypt_master_key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
siphash_key_t ci_dirhash_key;
bool ci_dirhash_key_initialized;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
u32 ci_hashed_ino;
};
6.8: Absent ⚠️
arm64: ✅struct fscrypt_info {
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
};
armhf: ✅struct fscrypt_info {
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
};
ppc64el: ✅struct fscrypt_info {
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
};
riscv64: ✅struct fscrypt_info {
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
};
aws: ✅struct fscrypt_info {
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
};
azure: ✅struct fscrypt_info {
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
};
gcp: ✅struct fscrypt_info {
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
};
lowlatency: ✅struct fscrypt_info {
struct crypto_skcipher *ci_ctfm;
struct crypto_cipher *ci_essiv_tfm;
struct fscrypt_mode *ci_mode;
struct inode *ci_inode;
struct key *ci_master_key;
struct list_head ci_master_key_link;
struct fscrypt_direct_key *ci_direct_key;
union fscrypt_policy ci_policy;
u8 ci_nonce[16];
};
Regular
4.8 and 4.10 ⚠️struct key *ci_keyring_key
4.10 and 4.13 ⚠️struct crypto_cipher *ci_essiv_tfm
4.13 and 4.15 ✅
4.15 and 4.18 ✅
4.18 and 5.0 ⚠️struct fscrypt_mode *ci_mode
u8 ci_master_key_descriptor[8]
u8 ci_nonce[16]
u8 ci_master_key[8] ➡️ struct fscrypt_master_key *ci_master_key
5.0 and 5.3 ✅
5.3 and 5.4 ⚠️struct inode *ci_inode
struct list_head ci_master_key_link
struct fscrypt_direct_key *ci_direct_key
union fscrypt_policy ci_policy
u8 ci_data_mode
u8 ci_filename_mode
u8 ci_flags
u8 ci_master_key_descriptor[8]
struct fscrypt_master_key *ci_master_key ➡️ struct key *ci_master_key
5.4 and 5.8 ⚠️bool ci_owns_key
siphash_key_t ci_dirhash_key
bool ci_dirhash_key_initialized
u32 ci_hashed_ino
struct crypto_cipher *ci_essiv_tfm
5.8 and 5.11 ⚠️struct fscrypt_prepared_key ci_enc_key
bool ci_inlinecrypt
struct crypto_skcipher *ci_ctfm
5.11 and 5.13 ✅
5.13 and 5.15 ✅
5.15 and 5.19 ✅
5.19 and 6.2 ⚠️struct key *ci_master_key ➡️ struct fscrypt_master_key *ci_master_key
6.2 and 6.5 ✅
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅