mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	crypto: ccree - remove data unit size support
Remove the implementaion of automatic advancement of sector size in IV for storage ciphers as its use is not supproted by the kernel. Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
		
							parent
							
								
									ba974adb47
								
							
						
					
					
						commit
						a93492cae3
					
				
					 2 changed files with 1 additions and 233 deletions
				
			
		| 
						 | 
				
			
			@ -624,16 +624,8 @@ static void cc_setup_xex_state_desc(struct crypto_tfm *tfm,
 | 
			
		|||
	dma_addr_t key_dma_addr = ctx_p->user.key_dma_addr;
 | 
			
		||||
	unsigned int key_len = (ctx_p->keylen / 2);
 | 
			
		||||
	dma_addr_t iv_dma_addr = req_ctx->gen_ctx.iv_dma_addr;
 | 
			
		||||
	unsigned int du_size = nbytes;
 | 
			
		||||
	unsigned int key_offset = key_len;
 | 
			
		||||
 | 
			
		||||
	struct cc_crypto_alg *cc_alg =
 | 
			
		||||
		container_of(tfm->__crt_alg, struct cc_crypto_alg,
 | 
			
		||||
			     skcipher_alg.base);
 | 
			
		||||
 | 
			
		||||
	if (cc_alg->data_unit)
 | 
			
		||||
		du_size = cc_alg->data_unit;
 | 
			
		||||
 | 
			
		||||
	switch (cipher_mode) {
 | 
			
		||||
	case DRV_CIPHER_ECB:
 | 
			
		||||
		break;
 | 
			
		||||
| 
						 | 
				
			
			@ -661,7 +653,7 @@ static void cc_setup_xex_state_desc(struct crypto_tfm *tfm,
 | 
			
		|||
				     (key_dma_addr + key_offset),
 | 
			
		||||
				     key_len, NS_BIT);
 | 
			
		||||
		}
 | 
			
		||||
		set_xex_data_unit_size(&desc[*seq_size], du_size);
 | 
			
		||||
		set_xex_data_unit_size(&desc[*seq_size], nbytes);
 | 
			
		||||
		set_flow_mode(&desc[*seq_size], S_DIN_to_AES2);
 | 
			
		||||
		set_key_size_aes(&desc[*seq_size], key_len);
 | 
			
		||||
		set_setup_mode(&desc[*seq_size], SETUP_LOAD_XEX_KEY);
 | 
			
		||||
| 
						 | 
				
			
			@ -1038,44 +1030,6 @@ static const struct cc_alg_template skcipher_algs[] = {
 | 
			
		|||
		.std_body = CC_STD_NIST,
 | 
			
		||||
		.sec_func = true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "xts512(paes)",
 | 
			
		||||
		.driver_name = "xts-paes-du512-ccree",
 | 
			
		||||
		.blocksize = 1,
 | 
			
		||||
		.template_skcipher = {
 | 
			
		||||
			.setkey = cc_cipher_sethkey,
 | 
			
		||||
			.encrypt = cc_cipher_encrypt,
 | 
			
		||||
			.decrypt = cc_cipher_decrypt,
 | 
			
		||||
			.min_keysize = CC_HW_KEY_SIZE,
 | 
			
		||||
			.max_keysize = CC_HW_KEY_SIZE,
 | 
			
		||||
			.ivsize = AES_BLOCK_SIZE,
 | 
			
		||||
			},
 | 
			
		||||
		.cipher_mode = DRV_CIPHER_XTS,
 | 
			
		||||
		.flow_mode = S_DIN_to_AES,
 | 
			
		||||
		.data_unit = 512,
 | 
			
		||||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
		.sec_func = true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "xts4096(paes)",
 | 
			
		||||
		.driver_name = "xts-paes-du4096-ccree",
 | 
			
		||||
		.blocksize = 1,
 | 
			
		||||
		.template_skcipher = {
 | 
			
		||||
			.setkey = cc_cipher_sethkey,
 | 
			
		||||
			.encrypt = cc_cipher_encrypt,
 | 
			
		||||
			.decrypt = cc_cipher_decrypt,
 | 
			
		||||
			.min_keysize = CC_HW_KEY_SIZE,
 | 
			
		||||
			.max_keysize = CC_HW_KEY_SIZE,
 | 
			
		||||
			.ivsize = AES_BLOCK_SIZE,
 | 
			
		||||
			},
 | 
			
		||||
		.cipher_mode = DRV_CIPHER_XTS,
 | 
			
		||||
		.flow_mode = S_DIN_to_AES,
 | 
			
		||||
		.data_unit = 4096,
 | 
			
		||||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
		.sec_func = true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "essiv(cbc(paes),sha256)",
 | 
			
		||||
		.driver_name = "essiv-paes-ccree",
 | 
			
		||||
| 
						 | 
				
			
			@ -1094,44 +1048,6 @@ static const struct cc_alg_template skcipher_algs[] = {
 | 
			
		|||
		.std_body = CC_STD_NIST,
 | 
			
		||||
		.sec_func = true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "essiv512(cbc(paes),sha256)",
 | 
			
		||||
		.driver_name = "essiv-paes-du512-ccree",
 | 
			
		||||
		.blocksize = AES_BLOCK_SIZE,
 | 
			
		||||
		.template_skcipher = {
 | 
			
		||||
			.setkey = cc_cipher_sethkey,
 | 
			
		||||
			.encrypt = cc_cipher_encrypt,
 | 
			
		||||
			.decrypt = cc_cipher_decrypt,
 | 
			
		||||
			.min_keysize = CC_HW_KEY_SIZE,
 | 
			
		||||
			.max_keysize = CC_HW_KEY_SIZE,
 | 
			
		||||
			.ivsize = AES_BLOCK_SIZE,
 | 
			
		||||
			},
 | 
			
		||||
		.cipher_mode = DRV_CIPHER_ESSIV,
 | 
			
		||||
		.flow_mode = S_DIN_to_AES,
 | 
			
		||||
		.data_unit = 512,
 | 
			
		||||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
		.sec_func = true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "essiv4096(cbc(paes),sha256)",
 | 
			
		||||
		.driver_name = "essiv-paes-du4096-ccree",
 | 
			
		||||
		.blocksize = AES_BLOCK_SIZE,
 | 
			
		||||
		.template_skcipher = {
 | 
			
		||||
			.setkey = cc_cipher_sethkey,
 | 
			
		||||
			.encrypt = cc_cipher_encrypt,
 | 
			
		||||
			.decrypt = cc_cipher_decrypt,
 | 
			
		||||
			.min_keysize = CC_HW_KEY_SIZE,
 | 
			
		||||
			.max_keysize = CC_HW_KEY_SIZE,
 | 
			
		||||
			.ivsize = AES_BLOCK_SIZE,
 | 
			
		||||
			},
 | 
			
		||||
		.cipher_mode = DRV_CIPHER_ESSIV,
 | 
			
		||||
		.flow_mode = S_DIN_to_AES,
 | 
			
		||||
		.data_unit = 4096,
 | 
			
		||||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
		.sec_func = true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "bitlocker(paes)",
 | 
			
		||||
		.driver_name = "bitlocker-paes-ccree",
 | 
			
		||||
| 
						 | 
				
			
			@ -1150,44 +1066,6 @@ static const struct cc_alg_template skcipher_algs[] = {
 | 
			
		|||
		.std_body = CC_STD_NIST,
 | 
			
		||||
		.sec_func = true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "bitlocker512(paes)",
 | 
			
		||||
		.driver_name = "bitlocker-paes-du512-ccree",
 | 
			
		||||
		.blocksize = AES_BLOCK_SIZE,
 | 
			
		||||
		.template_skcipher = {
 | 
			
		||||
			.setkey = cc_cipher_sethkey,
 | 
			
		||||
			.encrypt = cc_cipher_encrypt,
 | 
			
		||||
			.decrypt = cc_cipher_decrypt,
 | 
			
		||||
			.min_keysize = CC_HW_KEY_SIZE,
 | 
			
		||||
			.max_keysize = CC_HW_KEY_SIZE,
 | 
			
		||||
			.ivsize = AES_BLOCK_SIZE,
 | 
			
		||||
			},
 | 
			
		||||
		.cipher_mode = DRV_CIPHER_BITLOCKER,
 | 
			
		||||
		.flow_mode = S_DIN_to_AES,
 | 
			
		||||
		.data_unit = 512,
 | 
			
		||||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
		.sec_func = true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "bitlocker4096(paes)",
 | 
			
		||||
		.driver_name = "bitlocker-paes-du4096-ccree",
 | 
			
		||||
		.blocksize = AES_BLOCK_SIZE,
 | 
			
		||||
		.template_skcipher = {
 | 
			
		||||
			.setkey = cc_cipher_sethkey,
 | 
			
		||||
			.encrypt = cc_cipher_encrypt,
 | 
			
		||||
			.decrypt = cc_cipher_decrypt,
 | 
			
		||||
			.min_keysize = CC_HW_KEY_SIZE,
 | 
			
		||||
			.max_keysize =  CC_HW_KEY_SIZE,
 | 
			
		||||
			.ivsize = AES_BLOCK_SIZE,
 | 
			
		||||
			},
 | 
			
		||||
		.cipher_mode = DRV_CIPHER_BITLOCKER,
 | 
			
		||||
		.flow_mode = S_DIN_to_AES,
 | 
			
		||||
		.data_unit = 4096,
 | 
			
		||||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
		.sec_func = true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "ecb(paes)",
 | 
			
		||||
		.driver_name = "ecb-paes-ccree",
 | 
			
		||||
| 
						 | 
				
			
			@ -1299,42 +1177,6 @@ static const struct cc_alg_template skcipher_algs[] = {
 | 
			
		|||
		.min_hw_rev = CC_HW_REV_630,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "xts512(aes)",
 | 
			
		||||
		.driver_name = "xts-aes-du512-ccree",
 | 
			
		||||
		.blocksize = 1,
 | 
			
		||||
		.template_skcipher = {
 | 
			
		||||
			.setkey = cc_cipher_setkey,
 | 
			
		||||
			.encrypt = cc_cipher_encrypt,
 | 
			
		||||
			.decrypt = cc_cipher_decrypt,
 | 
			
		||||
			.min_keysize = AES_MIN_KEY_SIZE * 2,
 | 
			
		||||
			.max_keysize = AES_MAX_KEY_SIZE * 2,
 | 
			
		||||
			.ivsize = AES_BLOCK_SIZE,
 | 
			
		||||
			},
 | 
			
		||||
		.cipher_mode = DRV_CIPHER_XTS,
 | 
			
		||||
		.flow_mode = S_DIN_to_AES,
 | 
			
		||||
		.data_unit = 512,
 | 
			
		||||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "xts4096(aes)",
 | 
			
		||||
		.driver_name = "xts-aes-du4096-ccree",
 | 
			
		||||
		.blocksize = 1,
 | 
			
		||||
		.template_skcipher = {
 | 
			
		||||
			.setkey = cc_cipher_setkey,
 | 
			
		||||
			.encrypt = cc_cipher_encrypt,
 | 
			
		||||
			.decrypt = cc_cipher_decrypt,
 | 
			
		||||
			.min_keysize = AES_MIN_KEY_SIZE * 2,
 | 
			
		||||
			.max_keysize = AES_MAX_KEY_SIZE * 2,
 | 
			
		||||
			.ivsize = AES_BLOCK_SIZE,
 | 
			
		||||
			},
 | 
			
		||||
		.cipher_mode = DRV_CIPHER_XTS,
 | 
			
		||||
		.flow_mode = S_DIN_to_AES,
 | 
			
		||||
		.data_unit = 4096,
 | 
			
		||||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "essiv(cbc(aes),sha256)",
 | 
			
		||||
		.driver_name = "essiv-aes-ccree",
 | 
			
		||||
| 
						 | 
				
			
			@ -1352,42 +1194,6 @@ static const struct cc_alg_template skcipher_algs[] = {
 | 
			
		|||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "essiv512(cbc(aes),sha256)",
 | 
			
		||||
		.driver_name = "essiv-aes-du512-ccree",
 | 
			
		||||
		.blocksize = AES_BLOCK_SIZE,
 | 
			
		||||
		.template_skcipher = {
 | 
			
		||||
			.setkey = cc_cipher_setkey,
 | 
			
		||||
			.encrypt = cc_cipher_encrypt,
 | 
			
		||||
			.decrypt = cc_cipher_decrypt,
 | 
			
		||||
			.min_keysize = AES_MIN_KEY_SIZE,
 | 
			
		||||
			.max_keysize = AES_MAX_KEY_SIZE,
 | 
			
		||||
			.ivsize = AES_BLOCK_SIZE,
 | 
			
		||||
			},
 | 
			
		||||
		.cipher_mode = DRV_CIPHER_ESSIV,
 | 
			
		||||
		.flow_mode = S_DIN_to_AES,
 | 
			
		||||
		.data_unit = 512,
 | 
			
		||||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "essiv4096(cbc(aes),sha256)",
 | 
			
		||||
		.driver_name = "essiv-aes-du4096-ccree",
 | 
			
		||||
		.blocksize = AES_BLOCK_SIZE,
 | 
			
		||||
		.template_skcipher = {
 | 
			
		||||
			.setkey = cc_cipher_setkey,
 | 
			
		||||
			.encrypt = cc_cipher_encrypt,
 | 
			
		||||
			.decrypt = cc_cipher_decrypt,
 | 
			
		||||
			.min_keysize = AES_MIN_KEY_SIZE,
 | 
			
		||||
			.max_keysize = AES_MAX_KEY_SIZE,
 | 
			
		||||
			.ivsize = AES_BLOCK_SIZE,
 | 
			
		||||
			},
 | 
			
		||||
		.cipher_mode = DRV_CIPHER_ESSIV,
 | 
			
		||||
		.flow_mode = S_DIN_to_AES,
 | 
			
		||||
		.data_unit = 4096,
 | 
			
		||||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "bitlocker(aes)",
 | 
			
		||||
		.driver_name = "bitlocker-aes-ccree",
 | 
			
		||||
| 
						 | 
				
			
			@ -1405,42 +1211,6 @@ static const struct cc_alg_template skcipher_algs[] = {
 | 
			
		|||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "bitlocker512(aes)",
 | 
			
		||||
		.driver_name = "bitlocker-aes-du512-ccree",
 | 
			
		||||
		.blocksize = AES_BLOCK_SIZE,
 | 
			
		||||
		.template_skcipher = {
 | 
			
		||||
			.setkey = cc_cipher_setkey,
 | 
			
		||||
			.encrypt = cc_cipher_encrypt,
 | 
			
		||||
			.decrypt = cc_cipher_decrypt,
 | 
			
		||||
			.min_keysize = AES_MIN_KEY_SIZE * 2,
 | 
			
		||||
			.max_keysize = AES_MAX_KEY_SIZE * 2,
 | 
			
		||||
			.ivsize = AES_BLOCK_SIZE,
 | 
			
		||||
			},
 | 
			
		||||
		.cipher_mode = DRV_CIPHER_BITLOCKER,
 | 
			
		||||
		.flow_mode = S_DIN_to_AES,
 | 
			
		||||
		.data_unit = 512,
 | 
			
		||||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "bitlocker4096(aes)",
 | 
			
		||||
		.driver_name = "bitlocker-aes-du4096-ccree",
 | 
			
		||||
		.blocksize = AES_BLOCK_SIZE,
 | 
			
		||||
		.template_skcipher = {
 | 
			
		||||
			.setkey = cc_cipher_setkey,
 | 
			
		||||
			.encrypt = cc_cipher_encrypt,
 | 
			
		||||
			.decrypt = cc_cipher_decrypt,
 | 
			
		||||
			.min_keysize = AES_MIN_KEY_SIZE * 2,
 | 
			
		||||
			.max_keysize = AES_MAX_KEY_SIZE * 2,
 | 
			
		||||
			.ivsize = AES_BLOCK_SIZE,
 | 
			
		||||
			},
 | 
			
		||||
		.cipher_mode = DRV_CIPHER_BITLOCKER,
 | 
			
		||||
		.flow_mode = S_DIN_to_AES,
 | 
			
		||||
		.data_unit = 4096,
 | 
			
		||||
		.min_hw_rev = CC_HW_REV_712,
 | 
			
		||||
		.std_body = CC_STD_NIST,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		.name = "ecb(aes)",
 | 
			
		||||
		.driver_name = "ecb-aes-ccree",
 | 
			
		||||
| 
						 | 
				
			
			@ -1712,7 +1482,6 @@ static struct cc_crypto_alg *cc_create_alg(const struct cc_alg_template *tmpl,
 | 
			
		|||
 | 
			
		||||
	t_alg->cipher_mode = tmpl->cipher_mode;
 | 
			
		||||
	t_alg->flow_mode = tmpl->flow_mode;
 | 
			
		||||
	t_alg->data_unit = tmpl->data_unit;
 | 
			
		||||
 | 
			
		||||
	return t_alg;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -162,7 +162,6 @@ struct cc_crypto_alg {
 | 
			
		|||
	int cipher_mode;
 | 
			
		||||
	int flow_mode; /* Note: currently, refers to the cipher mode only. */
 | 
			
		||||
	int auth_mode;
 | 
			
		||||
	unsigned int data_unit;
 | 
			
		||||
	struct cc_drvdata *drvdata;
 | 
			
		||||
	struct skcipher_alg skcipher_alg;
 | 
			
		||||
	struct aead_alg aead_alg;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue