From: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org>
To: Paul Louvel <paul.louvel@bootlin.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
"David S. Miller" <davem@davemloft.net>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Herve Codina <herve.codina@bootlin.com>,
linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 10/29] crypto: talitos - Remove alg settings in talitos_register_common()
Date: Mon, 1 Jun 2026 13:53:48 +0200 [thread overview]
Message-ID: <d98bd2ad-fba2-49f4-97e0-1dfb559ea419@kernel.org> (raw)
In-Reply-To: <20260528-7-1-rc1_talitos_cleanup-v1-10-cb1ad6cdea49@bootlin.com>
Le 28/05/2026 à 11:08, Paul Louvel a écrit :
> Algorithm properties should be set at definition time.
Can you provide more details on why it _should_ be set at definition time ?
Also, couldn't this change be done after the "Use macro for algorithm
definitions" patches in order to minimise churn ?
>
> Signed-off-by: Paul Louvel <paul.louvel@bootlin.com>
> ---
> drivers/crypto/talitos/talitos-aead.c | 131 +++++++++++++++++++++++-------
> drivers/crypto/talitos/talitos-hash.c | 72 +++++++++++++---
> drivers/crypto/talitos/talitos-skcipher.c | 51 ++++++++++--
> drivers/crypto/talitos/talitos.c | 23 ------
> 4 files changed, 206 insertions(+), 71 deletions(-)
>
> diff --git a/drivers/crypto/talitos/talitos-aead.c b/drivers/crypto/talitos/talitos-aead.c
> index ce6bd6133fd0..c09ed08be2ef 100644
> --- a/drivers/crypto/talitos/talitos-aead.c
> +++ b/drivers/crypto/talitos/talitos-aead.c
> @@ -409,7 +409,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-aes-talitos",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = AES_BLOCK_SIZE,
> .maxauthsize = SHA1_DIGEST_SIZE,
> @@ -423,7 +427,6 @@ static struct talitos_alg_template aead_driver_algs[] = {
> DESC_HDR_MODE1_MDEU_SHA1_HMAC,
> },
> { .type = CRYPTO_ALG_TYPE_AEAD,
> - .priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> .alg.aead = {
> .base = {
> .cra_name = "authenc(hmac(sha1),cbc(aes))",
> @@ -431,7 +434,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-aes-talitos-hsna",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = AES_BLOCK_SIZE,
> .maxauthsize = SHA1_DIGEST_SIZE,
> @@ -453,7 +460,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-3des-talitos",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = DES3_EDE_BLOCK_SIZE,
> .maxauthsize = SHA1_DIGEST_SIZE,
> @@ -469,7 +480,6 @@ static struct talitos_alg_template aead_driver_algs[] = {
> DESC_HDR_MODE1_MDEU_SHA1_HMAC,
> },
> { .type = CRYPTO_ALG_TYPE_AEAD,
> - .priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> .alg.aead = {
> .base = {
> .cra_name = "authenc(hmac(sha1),"
> @@ -478,7 +488,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-3des-talitos-hsna",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = DES3_EDE_BLOCK_SIZE,
> .maxauthsize = SHA1_DIGEST_SIZE,
> @@ -501,7 +515,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-aes-talitos",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = AES_BLOCK_SIZE,
> .maxauthsize = SHA224_DIGEST_SIZE,
> @@ -515,7 +533,6 @@ static struct talitos_alg_template aead_driver_algs[] = {
> DESC_HDR_MODE1_MDEU_SHA224_HMAC,
> },
> { .type = CRYPTO_ALG_TYPE_AEAD,
> - .priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> .alg.aead = {
> .base = {
> .cra_name = "authenc(hmac(sha224),cbc(aes))",
> @@ -523,7 +540,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-aes-talitos-hsna",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = AES_BLOCK_SIZE,
> .maxauthsize = SHA224_DIGEST_SIZE,
> @@ -545,7 +566,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-3des-talitos",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = DES3_EDE_BLOCK_SIZE,
> .maxauthsize = SHA224_DIGEST_SIZE,
> @@ -561,7 +586,6 @@ static struct talitos_alg_template aead_driver_algs[] = {
> DESC_HDR_MODE1_MDEU_SHA224_HMAC,
> },
> { .type = CRYPTO_ALG_TYPE_AEAD,
> - .priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> .alg.aead = {
> .base = {
> .cra_name = "authenc(hmac(sha224),"
> @@ -570,7 +594,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-3des-talitos-hsna",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = DES3_EDE_BLOCK_SIZE,
> .maxauthsize = SHA224_DIGEST_SIZE,
> @@ -593,7 +621,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-aes-talitos",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = AES_BLOCK_SIZE,
> .maxauthsize = SHA256_DIGEST_SIZE,
> @@ -607,7 +639,6 @@ static struct talitos_alg_template aead_driver_algs[] = {
> DESC_HDR_MODE1_MDEU_SHA256_HMAC,
> },
> { .type = CRYPTO_ALG_TYPE_AEAD,
> - .priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> .alg.aead = {
> .base = {
> .cra_name = "authenc(hmac(sha256),cbc(aes))",
> @@ -615,7 +646,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-aes-talitos-hsna",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = AES_BLOCK_SIZE,
> .maxauthsize = SHA256_DIGEST_SIZE,
> @@ -637,7 +672,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-3des-talitos",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = DES3_EDE_BLOCK_SIZE,
> .maxauthsize = SHA256_DIGEST_SIZE,
> @@ -653,7 +692,6 @@ static struct talitos_alg_template aead_driver_algs[] = {
> DESC_HDR_MODE1_MDEU_SHA256_HMAC,
> },
> { .type = CRYPTO_ALG_TYPE_AEAD,
> - .priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> .alg.aead = {
> .base = {
> .cra_name = "authenc(hmac(sha256),"
> @@ -662,7 +700,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-3des-talitos-hsna",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = DES3_EDE_BLOCK_SIZE,
> .maxauthsize = SHA256_DIGEST_SIZE,
> @@ -685,7 +727,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-aes-talitos",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = AES_BLOCK_SIZE,
> .maxauthsize = SHA384_DIGEST_SIZE,
> @@ -707,7 +753,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-3des-talitos",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = DES3_EDE_BLOCK_SIZE,
> .maxauthsize = SHA384_DIGEST_SIZE,
> @@ -730,7 +780,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-aes-talitos",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = AES_BLOCK_SIZE,
> .maxauthsize = SHA512_DIGEST_SIZE,
> @@ -752,7 +806,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-3des-talitos",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = DES3_EDE_BLOCK_SIZE,
> .maxauthsize = SHA512_DIGEST_SIZE,
> @@ -775,7 +833,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-aes-talitos",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = AES_BLOCK_SIZE,
> .maxauthsize = MD5_DIGEST_SIZE,
> @@ -789,7 +851,6 @@ static struct talitos_alg_template aead_driver_algs[] = {
> DESC_HDR_MODE1_MDEU_MD5_HMAC,
> },
> { .type = CRYPTO_ALG_TYPE_AEAD,
> - .priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> .alg.aead = {
> .base = {
> .cra_name = "authenc(hmac(md5),cbc(aes))",
> @@ -797,7 +858,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-aes-talitos-hsna",
> .cra_blocksize = AES_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = AES_BLOCK_SIZE,
> .maxauthsize = MD5_DIGEST_SIZE,
> @@ -818,7 +883,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-3des-talitos",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = DES3_EDE_BLOCK_SIZE,
> .maxauthsize = MD5_DIGEST_SIZE,
> @@ -834,7 +903,6 @@ static struct talitos_alg_template aead_driver_algs[] = {
> DESC_HDR_MODE1_MDEU_MD5_HMAC,
> },
> { .type = CRYPTO_ALG_TYPE_AEAD,
> - .priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> .alg.aead = {
> .base = {
> .cra_name = "authenc(hmac(md5),cbc(des3_ede))",
> @@ -842,7 +910,11 @@ static struct talitos_alg_template aead_driver_algs[] = {
> "cbc-3des-talitos-hsna",
> .cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .cra_priority = TALITOS_CRA_PRIORITY_AEAD_HSNA,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> },
> .ivsize = DES3_EDE_BLOCK_SIZE,
> .maxauthsize = MD5_DIGEST_SIZE,
> @@ -875,6 +947,9 @@ int talitos_register_aead(struct device *dev)
> aead_alg = &aead_driver_algs[i].alg.aead;
> alg = &aead_alg->base;
>
> + if (has_ftr_sec1(priv))
> + alg->cra_alignmask = 3;
> +
> alg->cra_exit = talitos_cra_exit;
> aead_alg->init = talitos_cra_init_aead;
> aead_alg->setkey = aead_alg->setkey ?: aead_setkey;
> diff --git a/drivers/crypto/talitos/talitos-hash.c b/drivers/crypto/talitos/talitos-hash.c
> index 5792e7093392..3793b6fd5b75 100644
> --- a/drivers/crypto/talitos/talitos-hash.c
> +++ b/drivers/crypto/talitos/talitos-hash.c
> @@ -559,8 +559,12 @@ static struct talitos_alg_template hash_driver_algs[] = {
> .cra_reqsize = sizeof(struct talitos_ahash_req_ctx),
> .cra_flags = CRYPTO_ALG_ASYNC |
> CRYPTO_ALG_ALLOCATES_MEMORY |
> - CRYPTO_AHASH_ALG_BLOCK_ONLY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY |
> + CRYPTO_AHASH_ALG_BLOCK_ONLY |
> CRYPTO_AHASH_ALG_FINAL_NONZERO,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> }
> },
> .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
> @@ -578,8 +582,12 @@ static struct talitos_alg_template hash_driver_algs[] = {
> .cra_reqsize = sizeof(struct talitos_ahash_req_ctx),
> .cra_flags = CRYPTO_ALG_ASYNC |
> CRYPTO_ALG_ALLOCATES_MEMORY |
> - CRYPTO_AHASH_ALG_BLOCK_ONLY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY |
> + CRYPTO_AHASH_ALG_BLOCK_ONLY |
> CRYPTO_AHASH_ALG_FINAL_NONZERO,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> }
> },
> .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
> @@ -597,8 +605,12 @@ static struct talitos_alg_template hash_driver_algs[] = {
> .cra_reqsize = sizeof(struct talitos_ahash_req_ctx),
> .cra_flags = CRYPTO_ALG_ASYNC |
> CRYPTO_ALG_ALLOCATES_MEMORY |
> - CRYPTO_AHASH_ALG_BLOCK_ONLY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY |
> + CRYPTO_AHASH_ALG_BLOCK_ONLY |
> CRYPTO_AHASH_ALG_FINAL_NONZERO,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> }
> },
> .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
> @@ -616,8 +628,12 @@ static struct talitos_alg_template hash_driver_algs[] = {
> .cra_reqsize = sizeof(struct talitos_ahash_req_ctx),
> .cra_flags = CRYPTO_ALG_ASYNC |
> CRYPTO_ALG_ALLOCATES_MEMORY |
> - CRYPTO_AHASH_ALG_BLOCK_ONLY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY |
> + CRYPTO_AHASH_ALG_BLOCK_ONLY |
> CRYPTO_AHASH_ALG_FINAL_NONZERO,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> }
> },
> .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
> @@ -635,8 +651,12 @@ static struct talitos_alg_template hash_driver_algs[] = {
> .cra_reqsize = sizeof(struct talitos_ahash_req_ctx),
> .cra_flags = CRYPTO_ALG_ASYNC |
> CRYPTO_ALG_ALLOCATES_MEMORY |
> - CRYPTO_AHASH_ALG_BLOCK_ONLY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY |
> + CRYPTO_AHASH_ALG_BLOCK_ONLY |
> CRYPTO_AHASH_ALG_FINAL_NONZERO,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> }
> },
> .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
> @@ -654,8 +674,12 @@ static struct talitos_alg_template hash_driver_algs[] = {
> .cra_reqsize = sizeof(struct talitos_ahash_req_ctx),
> .cra_flags = CRYPTO_ALG_ASYNC |
> CRYPTO_ALG_ALLOCATES_MEMORY |
> - CRYPTO_AHASH_ALG_BLOCK_ONLY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY |
> + CRYPTO_AHASH_ALG_BLOCK_ONLY |
> CRYPTO_AHASH_ALG_FINAL_NONZERO,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> }
> },
> .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
> @@ -673,8 +697,12 @@ static struct talitos_alg_template hash_driver_algs[] = {
> .cra_reqsize = sizeof(struct talitos_ahash_req_ctx),
> .cra_flags = CRYPTO_ALG_ASYNC |
> CRYPTO_ALG_ALLOCATES_MEMORY |
> - CRYPTO_AHASH_ALG_BLOCK_ONLY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY |
> + CRYPTO_AHASH_ALG_BLOCK_ONLY |
> CRYPTO_AHASH_ALG_FINAL_NONZERO,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> }
> },
> .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
> @@ -692,8 +720,12 @@ static struct talitos_alg_template hash_driver_algs[] = {
> .cra_reqsize = sizeof(struct talitos_ahash_req_ctx),
> .cra_flags = CRYPTO_ALG_ASYNC |
> CRYPTO_ALG_ALLOCATES_MEMORY |
> - CRYPTO_AHASH_ALG_BLOCK_ONLY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY |
> + CRYPTO_AHASH_ALG_BLOCK_ONLY |
> CRYPTO_AHASH_ALG_FINAL_NONZERO,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> }
> },
> .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
> @@ -711,8 +743,12 @@ static struct talitos_alg_template hash_driver_algs[] = {
> .cra_reqsize = sizeof(struct talitos_ahash_req_ctx),
> .cra_flags = CRYPTO_ALG_ASYNC |
> CRYPTO_ALG_ALLOCATES_MEMORY |
> - CRYPTO_AHASH_ALG_BLOCK_ONLY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY |
> + CRYPTO_AHASH_ALG_BLOCK_ONLY |
> CRYPTO_AHASH_ALG_FINAL_NONZERO,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> }
> },
> .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
> @@ -730,8 +766,12 @@ static struct talitos_alg_template hash_driver_algs[] = {
> .cra_reqsize = sizeof(struct talitos_ahash_req_ctx),
> .cra_flags = CRYPTO_ALG_ASYNC |
> CRYPTO_ALG_ALLOCATES_MEMORY |
> - CRYPTO_AHASH_ALG_BLOCK_ONLY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY |
> + CRYPTO_AHASH_ALG_BLOCK_ONLY |
> CRYPTO_AHASH_ALG_FINAL_NONZERO,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> }
> },
> .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
> @@ -749,8 +789,12 @@ static struct talitos_alg_template hash_driver_algs[] = {
> .cra_reqsize = sizeof(struct talitos_ahash_req_ctx),
> .cra_flags = CRYPTO_ALG_ASYNC |
> CRYPTO_ALG_ALLOCATES_MEMORY |
> - CRYPTO_AHASH_ALG_BLOCK_ONLY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY |
> + CRYPTO_AHASH_ALG_BLOCK_ONLY |
> CRYPTO_AHASH_ALG_FINAL_NONZERO,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> }
> },
> .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
> @@ -768,8 +812,12 @@ static struct talitos_alg_template hash_driver_algs[] = {
> .cra_reqsize = sizeof(struct talitos_ahash_req_ctx),
> .cra_flags = CRYPTO_ALG_ASYNC |
> CRYPTO_ALG_ALLOCATES_MEMORY |
> - CRYPTO_AHASH_ALG_BLOCK_ONLY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY |
> + CRYPTO_AHASH_ALG_BLOCK_ONLY |
> CRYPTO_AHASH_ALG_FINAL_NONZERO,
> + .cra_priority = TALITOS_CRA_PRIORITY,
> + .cra_ctxsize = sizeof(struct talitos_ctx),
> + .cra_module = THIS_MODULE,
> }
> },
> .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
> diff --git a/drivers/crypto/talitos/talitos-skcipher.c b/drivers/crypto/talitos/talitos-skcipher.c
> index 4f742930ec47..ff7b8f9344c4 100644
> --- a/drivers/crypto/talitos/talitos-skcipher.c
> +++ b/drivers/crypto/talitos/talitos-skcipher.c
> @@ -239,7 +239,11 @@ static struct talitos_alg_template skcipher_driver_algs[] = {
> .base.cra_driver_name = "ecb-aes-talitos",
> .base.cra_blocksize = AES_BLOCK_SIZE,
> .base.cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .base.cra_priority = TALITOS_CRA_PRIORITY,
> + .base.cra_ctxsize = sizeof(struct talitos_ctx),
> + .base.cra_module = THIS_MODULE,
> .min_keysize = AES_MIN_KEY_SIZE,
> .max_keysize = AES_MAX_KEY_SIZE,
> .setkey = skcipher_aes_setkey,
> @@ -253,7 +257,11 @@ static struct talitos_alg_template skcipher_driver_algs[] = {
> .base.cra_driver_name = "cbc-aes-talitos",
> .base.cra_blocksize = AES_BLOCK_SIZE,
> .base.cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .base.cra_priority = TALITOS_CRA_PRIORITY,
> + .base.cra_ctxsize = sizeof(struct talitos_ctx),
> + .base.cra_module = THIS_MODULE,
> .min_keysize = AES_MIN_KEY_SIZE,
> .max_keysize = AES_MAX_KEY_SIZE,
> .ivsize = AES_BLOCK_SIZE,
> @@ -269,7 +277,11 @@ static struct talitos_alg_template skcipher_driver_algs[] = {
> .base.cra_driver_name = "ctr-aes-talitos",
> .base.cra_blocksize = 1,
> .base.cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .base.cra_priority = TALITOS_CRA_PRIORITY,
> + .base.cra_ctxsize = sizeof(struct talitos_ctx),
> + .base.cra_module = THIS_MODULE,
> .min_keysize = AES_MIN_KEY_SIZE,
> .max_keysize = AES_MAX_KEY_SIZE,
> .ivsize = AES_BLOCK_SIZE,
> @@ -285,7 +297,11 @@ static struct talitos_alg_template skcipher_driver_algs[] = {
> .base.cra_driver_name = "ctr-aes-talitos",
> .base.cra_blocksize = 1,
> .base.cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .base.cra_priority = TALITOS_CRA_PRIORITY,
> + .base.cra_ctxsize = sizeof(struct talitos_ctx),
> + .base.cra_module = THIS_MODULE,
> .min_keysize = AES_MIN_KEY_SIZE,
> .max_keysize = AES_MAX_KEY_SIZE,
> .ivsize = AES_BLOCK_SIZE,
> @@ -301,7 +317,11 @@ static struct talitos_alg_template skcipher_driver_algs[] = {
> .base.cra_driver_name = "ecb-des-talitos",
> .base.cra_blocksize = DES_BLOCK_SIZE,
> .base.cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .base.cra_priority = TALITOS_CRA_PRIORITY,
> + .base.cra_ctxsize = sizeof(struct talitos_ctx),
> + .base.cra_module = THIS_MODULE,
> .min_keysize = DES_KEY_SIZE,
> .max_keysize = DES_KEY_SIZE,
> .setkey = skcipher_des_setkey,
> @@ -315,7 +335,11 @@ static struct talitos_alg_template skcipher_driver_algs[] = {
> .base.cra_driver_name = "cbc-des-talitos",
> .base.cra_blocksize = DES_BLOCK_SIZE,
> .base.cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .base.cra_priority = TALITOS_CRA_PRIORITY,
> + .base.cra_ctxsize = sizeof(struct talitos_ctx),
> + .base.cra_module = THIS_MODULE,
> .min_keysize = DES_KEY_SIZE,
> .max_keysize = DES_KEY_SIZE,
> .ivsize = DES_BLOCK_SIZE,
> @@ -331,7 +355,11 @@ static struct talitos_alg_template skcipher_driver_algs[] = {
> .base.cra_driver_name = "ecb-3des-talitos",
> .base.cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .base.cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .base.cra_priority = TALITOS_CRA_PRIORITY,
> + .base.cra_ctxsize = sizeof(struct talitos_ctx),
> + .base.cra_module = THIS_MODULE,
> .min_keysize = DES3_EDE_KEY_SIZE,
> .max_keysize = DES3_EDE_KEY_SIZE,
> .setkey = skcipher_des3_setkey,
> @@ -346,7 +374,11 @@ static struct talitos_alg_template skcipher_driver_algs[] = {
> .base.cra_driver_name = "cbc-3des-talitos",
> .base.cra_blocksize = DES3_EDE_BLOCK_SIZE,
> .base.cra_flags = CRYPTO_ALG_ASYNC |
> - CRYPTO_ALG_ALLOCATES_MEMORY,
> + CRYPTO_ALG_ALLOCATES_MEMORY |
> + CRYPTO_ALG_KERN_DRIVER_ONLY,
> + .base.cra_priority = TALITOS_CRA_PRIORITY,
> + .base.cra_ctxsize = sizeof(struct talitos_ctx),
> + .base.cra_module = THIS_MODULE,
> .min_keysize = DES3_EDE_KEY_SIZE,
> .max_keysize = DES3_EDE_KEY_SIZE,
> .ivsize = DES3_EDE_BLOCK_SIZE,
> @@ -375,6 +407,9 @@ int talitos_register_skcipher(struct device *dev)
> skcipher_alg = &skcipher_driver_algs[i].alg.skcipher;
> alg = &skcipher_alg->base;
>
> + if (has_ftr_sec1(priv))
> + alg->cra_alignmask = 3;
> +
> alg->cra_exit = talitos_cra_exit;
> skcipher_alg->init = talitos_cra_init_skcipher;
> skcipher_alg->setkey = skcipher_alg->setkey ?: skcipher_setkey;
> diff --git a/drivers/crypto/talitos/talitos.c b/drivers/crypto/talitos/talitos.c
> index 41d7d0e570e3..f38a156a0459 100644
> --- a/drivers/crypto/talitos/talitos.c
> +++ b/drivers/crypto/talitos/talitos.c
> @@ -1133,23 +1133,6 @@ static void talitos_remove(struct platform_device *ofdev)
> tasklet_kill(&priv->done_task[1]);
> }
>
> -static void talitos_alg_set_common(struct talitos_private *priv,
> - struct crypto_alg *alg, u32 custom_priority,
> - u32 type)
> -{
> - alg->cra_module = THIS_MODULE;
> - if (custom_priority)
> - alg->cra_priority = custom_priority;
> - else
> - alg->cra_priority = TALITOS_CRA_PRIORITY;
> - if (has_ftr_sec1(priv) && type != CRYPTO_ALG_TYPE_AHASH)
> - alg->cra_alignmask = 3;
> - else
> - alg->cra_alignmask = 0;
> - alg->cra_ctxsize = sizeof(struct talitos_ctx);
> - alg->cra_flags |= CRYPTO_ALG_KERN_DRIVER_ONLY;
> -}
> -
> int talitos_register_common(struct device *dev,
> struct talitos_alg_template *template)
> {
> @@ -1168,20 +1151,14 @@ int talitos_register_common(struct device *dev,
> switch (t_alg->algt.type) {
> case CRYPTO_ALG_TYPE_AHASH:
> alg = &t_alg->algt.alg.hash.halg.base;
> - talitos_alg_set_common(priv, alg, t_alg->algt.priority,
> - t_alg->algt.type);
> ret = crypto_register_ahash(&t_alg->algt.alg.hash);
> break;
> case CRYPTO_ALG_TYPE_SKCIPHER:
> alg = &t_alg->algt.alg.skcipher.base;
> - talitos_alg_set_common(priv, alg, t_alg->algt.priority,
> - t_alg->algt.type);
> ret = crypto_register_skcipher(&t_alg->algt.alg.skcipher);
> break;
> case CRYPTO_ALG_TYPE_AEAD:
> alg = &t_alg->algt.alg.aead.base;
> - talitos_alg_set_common(priv, alg, t_alg->algt.priority,
> - t_alg->algt.type);
> ret = crypto_register_aead(&t_alg->algt.alg.aead);
> break;
> default:
>
next prev parent reply other threads:[~2026-06-01 11:53 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-28 9:08 [PATCH 00/29] crypto: talitos - Driver cleanup Paul Louvel
2026-05-28 9:08 ` [PATCH 01/29] crypto: talitos/hash - Use CRYPTO_AHASH_BLOCK_ONLY API Paul Louvel
2026-05-29 11:25 ` Christophe Leroy (CS GROUP)
2026-06-01 5:40 ` Christophe Leroy (CS GROUP)
2026-06-01 8:06 ` Paul Louvel
2026-05-28 9:08 ` [PATCH 02/29] crypto: talitos - Move driver into dedicated directory Paul Louvel
2026-05-29 11:25 ` Christophe Leroy (CS GROUP)
2026-05-28 9:08 ` [PATCH 03/29] crypto: talitos - Add missing includes to driver header file Paul Louvel
2026-05-29 11:26 ` Christophe Leroy (CS GROUP)
2026-05-28 9:08 ` [PATCH 04/29] crypto: talitos/hwrng - Move into separate file Paul Louvel
2026-05-29 11:26 ` Christophe Leroy (CS GROUP)
2026-05-28 9:08 ` [PATCH 05/29] crypto: talitos - Prepare crypto implementation file splitting Paul Louvel
2026-05-29 13:21 ` Christophe Leroy (CS GROUP)
2026-05-29 16:24 ` David Laight
2026-06-01 8:49 ` Paul Louvel
2026-06-01 10:16 ` Christophe Leroy (CS GROUP)
2026-05-28 9:08 ` [PATCH 06/29] crypto: talitos - Introduce registration helper Paul Louvel
2026-06-01 5:45 ` Christophe Leroy (CS GROUP)
2026-05-28 9:08 ` [PATCH 07/29] crypto: talitos/hash - Move into separate file Paul Louvel
2026-06-01 11:47 ` Christophe Leroy (CS GROUP)
2026-06-04 12:31 ` Paul Louvel
2026-05-28 9:08 ` [PATCH 08/29] crypto: talitos/skcipher " Paul Louvel
2026-06-01 11:47 ` Christophe Leroy (CS GROUP)
2026-05-28 9:08 ` [PATCH 09/29] crypto: talitos/aead " Paul Louvel
2026-06-01 11:48 ` Christophe Leroy (CS GROUP)
2026-05-28 9:08 ` [PATCH 10/29] crypto: talitos - Remove alg settings in talitos_register_common() Paul Louvel
2026-06-01 11:53 ` Christophe Leroy (CS GROUP) [this message]
2026-06-04 12:38 ` Paul Louvel
2026-05-28 9:08 ` [PATCH 11/29] crypto: talitos - Remove unused priority field in struct talitos_alg_template Paul Louvel
2026-06-01 11:54 ` Christophe Leroy (CS GROUP)
2026-06-04 12:39 ` Paul Louvel
2026-05-28 9:08 ` [PATCH 12/29] crypto: talitos/hash - Convert to init_tfm/exit_tfm type-specific API Paul Louvel
2026-06-01 11:57 ` Christophe Leroy (CS GROUP)
2026-05-28 9:08 ` [PATCH 13/29] crypto: talitos/skcipher - Convert to init/exit " Paul Louvel
2026-06-01 11:58 ` Christophe Leroy (CS GROUP)
2026-05-28 9:08 ` [PATCH 14/29] crypto: talitos/aead " Paul Louvel
2026-06-01 11:59 ` Christophe Leroy (CS GROUP)
2026-06-04 12:44 ` Paul Louvel
2026-05-28 9:08 ` [PATCH 15/29] crypto: talitos/hash - Use macro for algorithm definitions Paul Louvel
2026-06-01 12:02 ` Christophe Leroy (CS GROUP)
2026-05-28 9:08 ` [PATCH 16/29] crypto: talitos/skcipher " Paul Louvel
2026-06-01 12:02 ` Christophe Leroy (CS GROUP)
2026-05-28 9:08 ` [PATCH 17/29] crypto: talitos/aead " Paul Louvel
2026-06-01 12:12 ` Christophe Leroy (CS GROUP)
2026-06-10 14:41 ` Paul Louvel
2026-05-28 9:08 ` [PATCH 18/29] crypto: talitos - Split SEC1/SEC2 code into separate function variants Paul Louvel
2026-06-01 5:51 ` Christophe Leroy (CS GROUP)
2026-06-01 12:32 ` Christophe Leroy (CS GROUP)
2026-06-04 12:46 ` Paul Louvel
2026-05-28 9:08 ` [PATCH 19/29] crypto: talitos - Introduce struct talitos_ops Paul Louvel
2026-05-28 9:08 ` [PATCH 20/29] crypto: talitos - Replace SEC1/SEC2 conditionals with ops dispatch Paul Louvel
2026-06-04 9:37 ` Christophe Leroy (CS GROUP)
2026-06-04 13:05 ` Paul Louvel
2026-06-04 15:26 ` Christophe Leroy (CS GROUP)
2026-05-28 9:08 ` [PATCH 21/29] crypto: talitos - Export common channel and error handling routines Paul Louvel
2026-05-28 9:08 ` [PATCH 22/29] crypto: talitos - Move SEC1 ops into talitos-sec1.c Paul Louvel
2026-05-28 9:08 ` [PATCH 23/29] crypto: talitos - Move SEC2 ops into talitos-sec2.c Paul Louvel
2026-05-28 9:08 ` [PATCH 24/29] crypto: talitos - Introduce per-SEC-version pointer helper ops Paul Louvel
2026-06-04 9:48 ` Christophe Leroy (CS GROUP)
2026-05-28 9:08 ` [PATCH 25/29] crypto: talitos - Dispatch pointer helpers through ptr_ops Paul Louvel
2026-05-28 9:08 ` [PATCH 26/29] crypto: talitos - Remove now-unused global pointer helpers Paul Louvel
2026-05-28 9:08 ` [PATCH 27/29] crypto: talitos - Introduce per-SEC-version descriptor structures and ops Paul Louvel
2026-06-04 9:57 ` Christophe Leroy (CS GROUP)
2026-06-04 13:01 ` Paul Louvel
2026-05-28 9:08 ` [PATCH 28/29] crypto: talitos - Clean up includes in core driver file Paul Louvel
2026-05-28 9:08 ` [PATCH 29/29] crypto: talitos - Remove TALITOS_DESC_SIZE macro Paul Louvel
2026-06-04 9:59 ` Christophe Leroy (CS GROUP)
2026-06-04 13:01 ` Paul Louvel
2026-06-01 6:15 ` [PATCH 00/29] crypto: talitos - Driver cleanup Christophe Leroy (CS GROUP)
2026-06-01 9:17 ` Paul Louvel
2026-06-01 10:27 ` Christophe Leroy (CS GROUP)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d98bd2ad-fba2-49f4-97e0-1dfb559ea419@kernel.org \
--to=chleroy@kernel.org \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=herve.codina@bootlin.com \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=paul.louvel@bootlin.com \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome