All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Biggers <ebiggers@kernel.org>
To: Xiongfeng Wang <wangxiongfeng2@huawei.com>
Cc: herbert@gondor.apana.org.au, davem@davemloft.net,
	linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org,
	broonie@kernel.org, ard.biesheuvel@linaro.org,
	jonathan.cameron@huawei.com
Subject: Re: [PATCH 2/5] crypto: ccm - use template array registering API to simplify the code
Date: Wed, 16 Jan 2019 09:57:01 -0800	[thread overview]
Message-ID: <20190116175700.GC152952@gmail.com> (raw)
In-Reply-To: <1547607034-40948-3-git-send-email-wangxiongfeng2@huawei.com>

On Wed, Jan 16, 2019 at 10:50:31AM +0800, Xiongfeng Wang wrote:
> Use crypto template array registering API to simplify the code.
> 
> Signed-off-by: Xiongfeng Wang <xiongfeng.wang@linaro.org>
> ---
>  crypto/ccm.c | 81 +++++++++++++++++++-----------------------------------------
>  1 file changed, 26 insertions(+), 55 deletions(-)
> 
> diff --git a/crypto/ccm.c b/crypto/ccm.c
> index b242fd0..8949aa2 100644
> --- a/crypto/ccm.c
> +++ b/crypto/ccm.c
> @@ -589,12 +589,6 @@ static int crypto_ccm_create(struct crypto_template *tmpl, struct rtattr **tb)
>  					mac_name);
>  }
>  
> -static struct crypto_template crypto_ccm_tmpl = {
> -	.name = "ccm",
> -	.create = crypto_ccm_create,
> -	.module = THIS_MODULE,
> -};
> -
>  static int crypto_ccm_base_create(struct crypto_template *tmpl,
>  				  struct rtattr **tb)
>  {
> @@ -618,12 +612,6 @@ static int crypto_ccm_base_create(struct crypto_template *tmpl,
>  					cipher_name);
>  }
>  
> -static struct crypto_template crypto_ccm_base_tmpl = {
> -	.name = "ccm_base",
> -	.create = crypto_ccm_base_create,
> -	.module = THIS_MODULE,
> -};
> -
>  static int crypto_rfc4309_setkey(struct crypto_aead *parent, const u8 *key,
>  				 unsigned int keylen)
>  {
> @@ -854,12 +842,6 @@ static int crypto_rfc4309_create(struct crypto_template *tmpl,
>  	goto out;
>  }
>  
> -static struct crypto_template crypto_rfc4309_tmpl = {
> -	.name = "rfc4309",
> -	.create = crypto_rfc4309_create,
> -	.module = THIS_MODULE,
> -};
> -
>  static int crypto_cbcmac_digest_setkey(struct crypto_shash *parent,
>  				     const u8 *inkey, unsigned int keylen)
>  {
> @@ -999,51 +981,40 @@ static int cbcmac_create(struct crypto_template *tmpl, struct rtattr **tb)
>  	return err;
>  }
>  
> -static struct crypto_template crypto_cbcmac_tmpl = {
> -	.name = "cbcmac",
> -	.create = cbcmac_create,
> -	.free = shash_free_instance,
> -	.module = THIS_MODULE,
> +static struct crypto_template crypto_ccm_tmpl[] = {

Add an 's':  'crypto_ccm_tmpls'.  Likewise everywhere else in this patch series
where you're defining an array of crypto_templates.

> +	{
> +		.name = "cbcmac",
> +		.create = cbcmac_create,
> +		.free = shash_free_instance,
> +		.module = THIS_MODULE,
> +	},
> +	{

In a list of struct definitions, the { should be on the same line as the
previous '},'.  Likewise everywhere else in this patch series where you're
defining an array of crypto_templates.

> +		.name = "ccm_base",
> +		.create = crypto_ccm_base_create,
> +		.module = THIS_MODULE,
> +	},
> +	{
> +		.name = "ccm",
> +		.create = crypto_ccm_create,
> +		.module = THIS_MODULE,
> +	},
> +	{
> +		.name = "rfc4309",
> +		.create = crypto_rfc4309_create,
> +		.module = THIS_MODULE,
> +	},
>  };
>  
>  static int __init crypto_ccm_module_init(void)
>  {
> -	int err;
> -
> -	err = crypto_register_template(&crypto_cbcmac_tmpl);
> -	if (err)
> -		goto out;
> -
> -	err = crypto_register_template(&crypto_ccm_base_tmpl);
> -	if (err)
> -		goto out_undo_cbcmac;
> -
> -	err = crypto_register_template(&crypto_ccm_tmpl);
> -	if (err)
> -		goto out_undo_base;
> -
> -	err = crypto_register_template(&crypto_rfc4309_tmpl);
> -	if (err)
> -		goto out_undo_ccm;
> -
> -out:
> -	return err;
> -
> -out_undo_ccm:
> -	crypto_unregister_template(&crypto_ccm_tmpl);
> -out_undo_base:
> -	crypto_unregister_template(&crypto_ccm_base_tmpl);
> -out_undo_cbcmac:
> -	crypto_register_template(&crypto_cbcmac_tmpl);
> -	goto out;
> +	return crypto_register_templates(crypto_ccm_tmpl,
> +			ARRAY_SIZE(crypto_ccm_tmpl));
>  }

Please fix the indentation here, so the continuation line is aligned.

	return crypto_register_templates(crypto_ccm_tmpl,
					 ARRAY_SIZE(crypto_ccm_tmpl));

Likewise everywhere else in the patch series where you're registering or
unregistering templates.

>  
>  static void __exit crypto_ccm_module_exit(void)
>  {
> -	crypto_unregister_template(&crypto_rfc4309_tmpl);
> -	crypto_unregister_template(&crypto_ccm_tmpl);
> -	crypto_unregister_template(&crypto_ccm_base_tmpl);
> -	crypto_unregister_template(&crypto_cbcmac_tmpl);
> +	crypto_unregister_templates(crypto_ccm_tmpl,
> +			ARRAY_SIZE(crypto_ccm_tmpl));
>  }

Same here.

	crypto_unregister_templates(crypto_ccm_tmpl,
				    ARRAY_SIZE(crypto_ccm_tmpl));

>  
>  module_init(crypto_ccm_module_init);
> -- 
> 1.7.12.4
> 

Thanks,

- Eric

  reply	other threads:[~2019-01-16 17:57 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-16  2:50 [PATCH 0/5] Crypto Cleanup Xiongfeng Wang
2019-01-16  2:50 ` [PATCH 1/5] crypto: api - add a helper to (un)register a array of templates Xiongfeng Wang
2019-01-16 17:52   ` Eric Biggers
2019-01-16  2:50 ` [PATCH 2/5] crypto: ccm - use template array registering API to simplify the code Xiongfeng Wang
2019-01-16 17:57   ` Eric Biggers [this message]
2019-01-16  2:50 ` [PATCH 3/5] crypto: gcm " Xiongfeng Wang
2019-01-16  2:50 ` [PATCH 4/5] crypto: ctr " Xiongfeng Wang
2019-01-16  2:50 ` [PATCH 5/5] crypto: chacha20poly1305 " Xiongfeng Wang
2019-01-16 17:49 ` [PATCH 0/5] Crypto Cleanup Eric Biggers
2019-01-17  2:50   ` Xiongfeng Wang
  -- strict thread matches above, loose matches on Subject: below --
2018-07-18  7:30 [PATCH 0/5] crypto: add IV generation templates Xiongfeng Wang
2018-07-18  7:30 ` [PATCH 2/5] crypto: ccm - use template array registering API to simplify the code Xiongfeng Wang
2018-07-18  7:30   ` Xiongfeng Wang

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=20190116175700.GC152952@gmail.com \
    --to=ebiggers@kernel.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=broonie@kernel.org \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=jonathan.cameron@huawei.com \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=wangxiongfeng2@huawei.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.