OSDN Git Service

crypto: caam - reinitialize keys_fit_inline for decrypt and givencrypt
authorVakul Garg <vakul@freescale.com>
Sat, 10 May 2014 01:34:40 +0000 (20:34 -0500)
committerHerbert Xu <herbert@gondor.apana.org.au>
Tue, 13 May 2014 11:43:46 +0000 (19:43 +0800)
Re-initialize keys_fit_inline to avoid using its stale encrypt() shared
descriptor value prior to building descriptors for the decrypt() and
givencrypt() cases.

Signed-off-by: Vakul Garg <vakul@freescale.com>
[reworded commit text, enhanced code readability]
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/caam/caamalg.c

index 339277c..c09ce1f 100644 (file)
@@ -303,6 +303,7 @@ static int aead_null_set_sh_desc(struct crypto_aead *aead)
         * Job Descriptor and Shared Descriptors
         * must all fit into the 64-word Descriptor h/w Buffer
         */
+       keys_fit_inline = false;
        if (DESC_AEAD_NULL_DEC_LEN + DESC_JOB_IO_LEN +
            ctx->split_key_pad_len <= CAAM_DESC_BYTES_MAX)
                keys_fit_inline = true;
@@ -472,6 +473,7 @@ static int aead_set_sh_desc(struct crypto_aead *aead)
         * Job Descriptor and Shared Descriptors
         * must all fit into the 64-word Descriptor h/w Buffer
         */
+       keys_fit_inline = false;
        if (DESC_AEAD_DEC_LEN + DESC_JOB_IO_LEN +
            ctx->split_key_pad_len + ctx->enckeylen <=
            CAAM_DESC_BYTES_MAX)
@@ -527,6 +529,7 @@ static int aead_set_sh_desc(struct crypto_aead *aead)
         * Job Descriptor and Shared Descriptors
         * must all fit into the 64-word Descriptor h/w Buffer
         */
+       keys_fit_inline = false;
        if (DESC_AEAD_GIVENC_LEN + DESC_JOB_IO_LEN +
            ctx->split_key_pad_len + ctx->enckeylen <=
            CAAM_DESC_BYTES_MAX)