crypto: ccree - remove data unit size support
authorGilad Ben-Yossef <gilad@benyossef.com>
Wed, 5 Aug 2020 06:23:00 +0000 (09:23 +0300)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 21 Aug 2020 04:45:28 +0000 (14:45 +1000)
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>
drivers/crypto/ccree/cc_cipher.c
drivers/crypto/ccree/cc_driver.h

index d77ae98..97d8232 100644 (file)
@@ -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);
@@ -1039,44 +1031,6 @@ static const struct cc_alg_template skcipher_algs[] = {
                .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",
                .blocksize = AES_BLOCK_SIZE,
@@ -1095,44 +1049,6 @@ static const struct cc_alg_template skcipher_algs[] = {
                .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",
                .blocksize = AES_BLOCK_SIZE,
@@ -1151,44 +1067,6 @@ static const struct cc_alg_template skcipher_algs[] = {
                .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",
                .blocksize = AES_BLOCK_SIZE,
@@ -1300,42 +1178,6 @@ static const struct cc_alg_template skcipher_algs[] = {
                .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",
                .blocksize = AES_BLOCK_SIZE,
@@ -1353,42 +1195,6 @@ static const struct cc_alg_template skcipher_algs[] = {
                .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",
                .blocksize = AES_BLOCK_SIZE,
@@ -1406,42 +1212,6 @@ static const struct cc_alg_template skcipher_algs[] = {
                .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",
                .blocksize = AES_BLOCK_SIZE,
@@ -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;
 }
index d938886..af77b20 100644 (file)
@@ -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;