crypto: sun4i-ss - add the CRYPTO_ALG_KERN_DRIVER_ONLY flag
authorAntoine Ténart <antoine.tenart@free-electrons.com>
Thu, 1 Jun 2017 19:39:02 +0000 (21:39 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 19 Jun 2017 06:19:51 +0000 (14:19 +0800)
The CRYPTO_ALG_KERN_DRIVER_ONLY flag is set for hardware accelerated
ciphers accessible through a kernel driver only. This is the case for
ciphers exposed by the sun4i-ss driver. This patch sets this flag.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Tested-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Acked-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/sunxi-ss/sun4i-ss-core.c

index f7b99974d1bb9f8944a74c6271e44eee0b3aa059..02ad8256e900268b1e7613c6da47566f4987255e 100644 (file)
@@ -96,7 +96,8 @@ static struct sun4i_ss_alg_template ss_algs[] = {
                        .cra_driver_name = "cbc-aes-sun4i-ss",
                        .cra_priority = 300,
                        .cra_blocksize = AES_BLOCK_SIZE,
-                       .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER,
+                       .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER |
+                                    CRYPTO_ALG_KERN_DRIVER_ONLY,
                        .cra_ctxsize = sizeof(struct sun4i_tfm_ctx),
                        .cra_module = THIS_MODULE,
                        .cra_alignmask = 3,
@@ -117,7 +118,8 @@ static struct sun4i_ss_alg_template ss_algs[] = {
                        .cra_driver_name = "ecb-aes-sun4i-ss",
                        .cra_priority = 300,
                        .cra_blocksize = AES_BLOCK_SIZE,
-                       .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER,
+                       .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER |
+                                    CRYPTO_ALG_KERN_DRIVER_ONLY,
                        .cra_ctxsize = sizeof(struct sun4i_tfm_ctx),
                        .cra_module = THIS_MODULE,
                        .cra_alignmask = 3,
@@ -138,7 +140,8 @@ static struct sun4i_ss_alg_template ss_algs[] = {
                        .cra_driver_name = "cbc-des-sun4i-ss",
                        .cra_priority = 300,
                        .cra_blocksize = DES_BLOCK_SIZE,
-                       .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER,
+                       .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER |
+                                    CRYPTO_ALG_KERN_DRIVER_ONLY,
                        .cra_ctxsize = sizeof(struct sun4i_req_ctx),
                        .cra_module = THIS_MODULE,
                        .cra_alignmask = 3,
@@ -158,7 +161,8 @@ static struct sun4i_ss_alg_template ss_algs[] = {
                        .cra_driver_name = "ecb-des-sun4i-ss",
                        .cra_priority = 300,
                        .cra_blocksize = DES_BLOCK_SIZE,
-                       .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER,
+                       .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER |
+                                    CRYPTO_ALG_KERN_DRIVER_ONLY,
                        .cra_ctxsize = sizeof(struct sun4i_req_ctx),
                        .cra_module = THIS_MODULE,
                        .cra_alignmask = 3,
@@ -179,7 +183,8 @@ static struct sun4i_ss_alg_template ss_algs[] = {
                        .cra_driver_name = "cbc-des3-sun4i-ss",
                        .cra_priority = 300,
                        .cra_blocksize = DES3_EDE_BLOCK_SIZE,
-                       .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER,
+                       .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER |
+                                    CRYPTO_ALG_KERN_DRIVER_ONLY,
                        .cra_ctxsize = sizeof(struct sun4i_req_ctx),
                        .cra_module = THIS_MODULE,
                        .cra_alignmask = 3,