diff mbox

arm64: crypto: reduce priority of core AES cipher

Message ID 1447675968-21991-1-git-send-email-ard.biesheuvel@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Ard Biesheuvel Nov. 16, 2015, 12:12 p.m. UTC
The asynchronous, merged implementations of AES in CBC, CTR and XTS
modes are preferred when available (i.e., when instantiating ablkciphers
explicitly). However, the synchronous core AES cipher combined with the
generic CBC mode implementation will produce a 'cbc(aes)' blkcipher that
is callable asynchronously as well. To prevent this implementation from
being used when the accelerated asynchronous implemenation is also
available, lower its priority to 250 (i.e., below the asynchronous
module's priority of 300).

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 arch/arm64/crypto/aes-ce-cipher.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Catalin Marinas Nov. 18, 2015, 12:09 p.m. UTC | #1
On Mon, Nov 16, 2015 at 01:12:48PM +0100, Ard Biesheuvel wrote:
> The asynchronous, merged implementations of AES in CBC, CTR and XTS
> modes are preferred when available (i.e., when instantiating ablkciphers
> explicitly). However, the synchronous core AES cipher combined with the
> generic CBC mode implementation will produce a 'cbc(aes)' blkcipher that
> is callable asynchronously as well. To prevent this implementation from
> being used when the accelerated asynchronous implemenation is also
> available, lower its priority to 250 (i.e., below the asynchronous
> module's priority of 300).
> 
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

Applied. Thanks.
diff mbox

Patch

diff --git a/arch/arm64/crypto/aes-ce-cipher.c b/arch/arm64/crypto/aes-ce-cipher.c
index ce47792a983d..f7bd9bf0bbb3 100644
--- a/arch/arm64/crypto/aes-ce-cipher.c
+++ b/arch/arm64/crypto/aes-ce-cipher.c
@@ -237,7 +237,7 @@  EXPORT_SYMBOL(ce_aes_setkey);
 static struct crypto_alg aes_alg = {
 	.cra_name		= "aes",
 	.cra_driver_name	= "aes-ce",
-	.cra_priority		= 300,
+	.cra_priority		= 250,
 	.cra_flags		= CRYPTO_ALG_TYPE_CIPHER,
 	.cra_blocksize		= AES_BLOCK_SIZE,
 	.cra_ctxsize		= sizeof(struct crypto_aes_ctx),