On Tue, 13 Dec 2011 09:53:52 +0100
Nikos Mavrogiannopoulos <[email protected]> wrote:
Niko,
caam is ok. For talitos, either this way:
> diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c
> index 230509e..5620788 100644
> --- a/drivers/crypto/talitos.c
> +++ b/drivers/crypto/talitos.c
> @@ -2007,7 +2007,9 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_name = "authenc(hmac(sha1),cbc(aes))",
> .cra_driver_name = "authenc-hmac-sha1-cbc-aes-talitos",
> .cra_blocksize = AES_BLOCK_SIZE,
> - .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
> + .cra_flags = CRYPTO_ALG_TYPE_AEAD |
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_aead_type,
> .cra_aead = {
> .setkey = aead_setkey,
> @@ -2033,7 +2035,9 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_name = "authenc(hmac(sha1),cbc(des3_ede))",
> .cra_driver_name = "authenc-hmac-sha1-cbc-3des-talitos",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> - .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
> + .cra_flags = CRYPTO_ALG_TYPE_AEAD |
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_aead_type,
> .cra_aead = {
> .setkey = aead_setkey,
> @@ -2060,7 +2064,9 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_name = "authenc(hmac(sha256),cbc(aes))",
> .cra_driver_name =
> "authenc-hmac-sha256-cbc-aes-talitos",
> .cra_blocksize = AES_BLOCK_SIZE,
> - .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
> + .cra_flags = CRYPTO_ALG_TYPE_AEAD |
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_aead_type,
> .cra_aead = {
> .setkey = aead_setkey,
> @@ -2086,7 +2092,9 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_name = "authenc(hmac(sha256),cbc(des3_ede))",
> .cra_driver_name =
> "authenc-hmac-sha256-cbc-3des-talitos",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> - .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
> + .cra_flags = CRYPTO_ALG_TYPE_AEAD |
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_aead_type,
> .cra_aead = {
> .setkey = aead_setkey,
> @@ -2113,7 +2121,9 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_name = "authenc(hmac(md5),cbc(aes))",
> .cra_driver_name = "authenc-hmac-md5-cbc-aes-talitos",
> .cra_blocksize = AES_BLOCK_SIZE,
> - .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
> + .cra_flags = CRYPTO_ALG_TYPE_AEAD |
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_aead_type,
> .cra_aead = {
> .setkey = aead_setkey,
> @@ -2139,7 +2149,9 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_name = "authenc(hmac(md5),cbc(des3_ede))",
> .cra_driver_name = "authenc-hmac-md5-cbc-3des-talitos",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> - .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC,
> + .cra_flags = CRYPTO_ALG_TYPE_AEAD |
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_aead_type,
> .cra_aead = {
> .setkey = aead_setkey,
> @@ -2168,7 +2180,8 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_driver_name = "cbc-aes-talitos",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER |
> - CRYPTO_ALG_ASYNC,
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_ablkcipher_type,
> .cra_ablkcipher = {
> .setkey = ablkcipher_setkey,
> @@ -2190,7 +2203,8 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_driver_name = "cbc-3des-talitos",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER |
> - CRYPTO_ALG_ASYNC,
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_ablkcipher_type,
> .cra_ablkcipher = {
> .setkey = ablkcipher_setkey,
> @@ -2221,7 +2235,8 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_driver_name = "md5-talitos",
> .cra_blocksize = MD5_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_TYPE_AHASH |
> - CRYPTO_ALG_ASYNC,
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_ahash_type
> }
> },
> @@ -2242,7 +2257,8 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_driver_name = "sha1-talitos",
> .cra_blocksize = SHA1_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_TYPE_AHASH |
> - CRYPTO_ALG_ASYNC,
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_ahash_type
> }
> },
> @@ -2263,7 +2279,8 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_driver_name = "sha224-talitos",
> .cra_blocksize = SHA224_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_TYPE_AHASH |
> - CRYPTO_ALG_ASYNC,
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_ahash_type
> }
> },
> @@ -2284,7 +2301,8 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_driver_name = "sha256-talitos",
> .cra_blocksize = SHA256_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_TYPE_AHASH |
> - CRYPTO_ALG_ASYNC,
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_ahash_type
> }
> },
> @@ -2305,7 +2323,8 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_driver_name = "sha384-talitos",
> .cra_blocksize = SHA384_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_TYPE_AHASH |
> - CRYPTO_ALG_ASYNC,
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_ahash_type
> }
> },
> @@ -2326,7 +2345,8 @@ static struct talitos_alg_template driver_algs[] = {
> .cra_driver_name = "sha512-talitos",
> .cra_blocksize = SHA512_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_TYPE_AHASH |
> - CRYPTO_ALG_ASYNC,
> + CRYPTO_ALG_ASYNC |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> .cra_type = &crypto_ahash_type
> }
> },
or this way:
> @@ -2647,6 +2667,7 @@ static struct talitos_crypto_alg
> *talitos_alg_alloc(struct device *dev,
> alg->cra_priority = TALITOS_CRA_PRIORITY;
> alg->cra_alignmask = 0;
> alg->cra_ctxsize = sizeof(struct talitos_ctx);
> + alg->cra_flags |= CRYPTO_ALG_KERN_DRIVER_ONLY;
>
> t_alg->dev = dev;
but not both.
My preference is the latter. If you want to do it the former way,
rebase on Herbert's latest cryptodev tree, because the new algorithm
implementations are missing from this patch.
Kim
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html