Loading fs/ext4/crypto.c +5 −6 Original line number Diff line number Diff line Loading @@ -137,14 +137,13 @@ struct ext4_crypto_ctx *ext4_get_crypto_ctx(struct inode *inode) /* Allocate a new Crypto API context if we don't already have * one or if it isn't the right mode. */ BUG_ON(ci->ci_mode == EXT4_ENCRYPTION_MODE_INVALID); if (ctx->tfm && (ctx->mode != ci->ci_mode)) { if (ctx->tfm && (ctx->mode != ci->ci_data_mode)) { crypto_free_tfm(ctx->tfm); ctx->tfm = NULL; ctx->mode = EXT4_ENCRYPTION_MODE_INVALID; } if (!ctx->tfm) { switch (ci->ci_mode) { switch (ci->ci_data_mode) { case EXT4_ENCRYPTION_MODE_AES_256_XTS: ctx->tfm = crypto_ablkcipher_tfm( crypto_alloc_ablkcipher("xts(aes)", 0, 0)); Loading @@ -162,9 +161,9 @@ struct ext4_crypto_ctx *ext4_get_crypto_ctx(struct inode *inode) ctx->tfm = NULL; goto out; } ctx->mode = ci->ci_mode; ctx->mode = ci->ci_data_mode; } BUG_ON(ci->ci_size != ext4_encryption_key_size(ci->ci_mode)); BUG_ON(ci->ci_size != ext4_encryption_key_size(ci->ci_data_mode)); /* There shouldn't be a bounce page attached to the crypto * context at this point. */ Loading Loading @@ -321,7 +320,7 @@ static int ext4_page_crypto(struct ext4_crypto_ctx *ctx, int res = 0; BUG_ON(!ctx->tfm); BUG_ON(ctx->mode != ei->i_crypt_info->ci_mode); BUG_ON(ctx->mode != ei->i_crypt_info->ci_data_mode); if (ctx->mode != EXT4_ENCRYPTION_MODE_AES_256_XTS) { printk_ratelimited(KERN_ERR Loading fs/ext4/crypto_fname.c +2 −2 Original line number Diff line number Diff line Loading @@ -272,9 +272,9 @@ int ext4_setup_fname_crypto(struct inode *inode) if (!ci || ci->ci_ctfm) return 0; if (ci->ci_mode != EXT4_ENCRYPTION_MODE_AES_256_CTS) { if (ci->ci_filename_mode != EXT4_ENCRYPTION_MODE_AES_256_CTS) { printk_once(KERN_WARNING "ext4: unsupported key mode %d\n", ci->ci_mode); ci->ci_filename_mode); return -ENOKEY; } Loading fs/ext4/crypto_key.c +5 −6 Original line number Diff line number Diff line Loading @@ -152,14 +152,13 @@ int _ext4_get_encryption_info(struct inode *inode) memcpy(crypt_info->ci_master_key, ctx.master_key_descriptor, sizeof(crypt_info->ci_master_key)); if (S_ISREG(inode->i_mode)) crypt_info->ci_mode = ctx.contents_encryption_mode; crypt_info->ci_size = ext4_encryption_key_size(crypt_info->ci_data_mode); else if (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) crypt_info->ci_mode = ctx.filenames_encryption_mode; else { printk(KERN_ERR "ext4 crypto: Unsupported inode type.\n"); crypt_info->ci_size = ext4_encryption_key_size(crypt_info->ci_filename_mode); else BUG(); } crypt_info->ci_size = ext4_encryption_key_size(crypt_info->ci_mode); BUG_ON(!crypt_info->ci_size); if (DUMMY_ENCRYPTION_ENABLED(sbi)) { memset(crypt_info->ci_raw, 0x42, EXT4_AES_256_XTS_KEY_SIZE); Loading fs/ext4/ext4_crypto.h +0 −1 Original line number Diff line number Diff line Loading @@ -74,7 +74,6 @@ struct ext4_encryption_key { } __attribute__((__packed__)); struct ext4_crypt_info { unsigned char ci_mode; unsigned char ci_size; char ci_data_mode; char ci_filename_mode; Loading Loading
fs/ext4/crypto.c +5 −6 Original line number Diff line number Diff line Loading @@ -137,14 +137,13 @@ struct ext4_crypto_ctx *ext4_get_crypto_ctx(struct inode *inode) /* Allocate a new Crypto API context if we don't already have * one or if it isn't the right mode. */ BUG_ON(ci->ci_mode == EXT4_ENCRYPTION_MODE_INVALID); if (ctx->tfm && (ctx->mode != ci->ci_mode)) { if (ctx->tfm && (ctx->mode != ci->ci_data_mode)) { crypto_free_tfm(ctx->tfm); ctx->tfm = NULL; ctx->mode = EXT4_ENCRYPTION_MODE_INVALID; } if (!ctx->tfm) { switch (ci->ci_mode) { switch (ci->ci_data_mode) { case EXT4_ENCRYPTION_MODE_AES_256_XTS: ctx->tfm = crypto_ablkcipher_tfm( crypto_alloc_ablkcipher("xts(aes)", 0, 0)); Loading @@ -162,9 +161,9 @@ struct ext4_crypto_ctx *ext4_get_crypto_ctx(struct inode *inode) ctx->tfm = NULL; goto out; } ctx->mode = ci->ci_mode; ctx->mode = ci->ci_data_mode; } BUG_ON(ci->ci_size != ext4_encryption_key_size(ci->ci_mode)); BUG_ON(ci->ci_size != ext4_encryption_key_size(ci->ci_data_mode)); /* There shouldn't be a bounce page attached to the crypto * context at this point. */ Loading Loading @@ -321,7 +320,7 @@ static int ext4_page_crypto(struct ext4_crypto_ctx *ctx, int res = 0; BUG_ON(!ctx->tfm); BUG_ON(ctx->mode != ei->i_crypt_info->ci_mode); BUG_ON(ctx->mode != ei->i_crypt_info->ci_data_mode); if (ctx->mode != EXT4_ENCRYPTION_MODE_AES_256_XTS) { printk_ratelimited(KERN_ERR Loading
fs/ext4/crypto_fname.c +2 −2 Original line number Diff line number Diff line Loading @@ -272,9 +272,9 @@ int ext4_setup_fname_crypto(struct inode *inode) if (!ci || ci->ci_ctfm) return 0; if (ci->ci_mode != EXT4_ENCRYPTION_MODE_AES_256_CTS) { if (ci->ci_filename_mode != EXT4_ENCRYPTION_MODE_AES_256_CTS) { printk_once(KERN_WARNING "ext4: unsupported key mode %d\n", ci->ci_mode); ci->ci_filename_mode); return -ENOKEY; } Loading
fs/ext4/crypto_key.c +5 −6 Original line number Diff line number Diff line Loading @@ -152,14 +152,13 @@ int _ext4_get_encryption_info(struct inode *inode) memcpy(crypt_info->ci_master_key, ctx.master_key_descriptor, sizeof(crypt_info->ci_master_key)); if (S_ISREG(inode->i_mode)) crypt_info->ci_mode = ctx.contents_encryption_mode; crypt_info->ci_size = ext4_encryption_key_size(crypt_info->ci_data_mode); else if (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) crypt_info->ci_mode = ctx.filenames_encryption_mode; else { printk(KERN_ERR "ext4 crypto: Unsupported inode type.\n"); crypt_info->ci_size = ext4_encryption_key_size(crypt_info->ci_filename_mode); else BUG(); } crypt_info->ci_size = ext4_encryption_key_size(crypt_info->ci_mode); BUG_ON(!crypt_info->ci_size); if (DUMMY_ENCRYPTION_ENABLED(sbi)) { memset(crypt_info->ci_raw, 0x42, EXT4_AES_256_XTS_KEY_SIZE); Loading
fs/ext4/ext4_crypto.h +0 −1 Original line number Diff line number Diff line Loading @@ -74,7 +74,6 @@ struct ext4_encryption_key { } __attribute__((__packed__)); struct ext4_crypt_info { unsigned char ci_mode; unsigned char ci_size; char ci_data_mode; char ci_filename_mode; Loading