diff options
Diffstat (limited to 'fs/ext4/ext4_crypto.h')
| -rw-r--r-- | fs/ext4/ext4_crypto.h | 11 | 
1 files changed, 10 insertions, 1 deletions
| diff --git a/fs/ext4/ext4_crypto.h b/fs/ext4/ext4_crypto.h index c2ba35a914b6..d75159c101ce 100644 --- a/fs/ext4/ext4_crypto.h +++ b/fs/ext4/ext4_crypto.h @@ -20,12 +20,20 @@ struct ext4_encryption_policy {  	char version;  	char contents_encryption_mode;  	char filenames_encryption_mode; +	char flags;  	char master_key_descriptor[EXT4_KEY_DESCRIPTOR_SIZE];  } __attribute__((__packed__));  #define EXT4_ENCRYPTION_CONTEXT_FORMAT_V1 1  #define EXT4_KEY_DERIVATION_NONCE_SIZE 16 +#define EXT4_POLICY_FLAGS_PAD_4		0x00 +#define EXT4_POLICY_FLAGS_PAD_8		0x01 +#define EXT4_POLICY_FLAGS_PAD_16	0x02 +#define EXT4_POLICY_FLAGS_PAD_32	0x03 +#define EXT4_POLICY_FLAGS_PAD_MASK	0x03 +#define EXT4_POLICY_FLAGS_VALID		0x03 +  /**   * Encryption context for inode   * @@ -41,7 +49,7 @@ struct ext4_encryption_context {  	char format;  	char contents_encryption_mode;  	char filenames_encryption_mode; -	char reserved; +	char flags;  	char master_key_descriptor[EXT4_KEY_DESCRIPTOR_SIZE];  	char nonce[EXT4_KEY_DERIVATION_NONCE_SIZE];  } __attribute__((__packed__)); @@ -120,6 +128,7 @@ struct ext4_fname_crypto_ctx {  	struct crypto_hash *htfm;  	struct page *workpage;  	struct ext4_encryption_key key; +	unsigned flags : 8;  	unsigned has_valid_key : 1;  	unsigned ctfm_key_is_ready : 1;  }; |