2020-12-29 13:53:45

by Zheng Yongjun

[permalink] [raw]
Subject: [PATCH -next] tpm: Use kzalloc for allocating only one thing

Use kzalloc rather than kcalloc(1,...)

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
@@

- kcalloc(1,
+ kzalloc(
...)
// </smpl>

Signed-off-by: Zheng Yongjun <[email protected]>
---
drivers/char/tpm/tpm1-cmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/char/tpm/tpm1-cmd.c b/drivers/char/tpm/tpm1-cmd.c
index ca7158fa6e6c..4d8415e3b778 100644
--- a/drivers/char/tpm/tpm1-cmd.c
+++ b/drivers/char/tpm/tpm1-cmd.c
@@ -794,7 +794,7 @@ int tpm1_pm_suspend(struct tpm_chip *chip, u32 tpm_suspend_pcr)
*/
int tpm1_get_pcr_allocation(struct tpm_chip *chip)
{
- chip->allocated_banks = kcalloc(1, sizeof(*chip->allocated_banks),
+ chip->allocated_banks = kzalloc(sizeof(*chip->allocated_banks),
GFP_KERNEL);
if (!chip->allocated_banks)
return -ENOMEM;
--
2.22.0


2020-12-29 16:25:44

by James Bottomley

[permalink] [raw]
Subject: Re: [PATCH -next] tpm: Use kzalloc for allocating only one thing

On Tue, 2020-12-29 at 21:51 +0800, Zheng Yongjun wrote:
> Use kzalloc rather than kcalloc(1,...)
>
> The semantic patch that makes this change is as follows:
> (http://coccinelle.lip6.fr/)

What's the reason for wanting to do this transformation?

> drivers/char/tpm/tpm1-cmd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/char/tpm/tpm1-cmd.c b/drivers/char/tpm/tpm1-
> cmd.c
> index ca7158fa6e6c..4d8415e3b778 100644
> --- a/drivers/char/tpm/tpm1-cmd.c
> +++ b/drivers/char/tpm/tpm1-cmd.c
> @@ -794,7 +794,7 @@ int tpm1_pm_suspend(struct tpm_chip *chip, u32
> tpm_suspend_pcr)
> */
> int tpm1_get_pcr_allocation(struct tpm_chip *chip)
> {
> - chip->allocated_banks = kcalloc(1, sizeof(*chip-
> >allocated_banks),
> + chip->allocated_banks = kzalloc(sizeof(*chip->allocated_banks),
> GFP_KERNEL);
> if (!chip->allocated_banks)
> return -ENOMEM;

The reason tpm1 has this is because it mirrors the allocation in tpm2
so we retain code consistency. It's a fairly minor advantage, so it
could be changed if you have a better rationale ... but what is it?

James


2021-01-05 06:01:36

by Jarkko Sakkinen

[permalink] [raw]
Subject: Re: [PATCH -next] tpm: Use kzalloc for allocating only one thing

On Tue, Dec 29, 2020 at 08:23:49AM -0800, James Bottomley wrote:
> On Tue, 2020-12-29 at 21:51 +0800, Zheng Yongjun wrote:
> > Use kzalloc rather than kcalloc(1,...)
> >
> > The semantic patch that makes this change is as follows:
> > (http://coccinelle.lip6.fr/)
>
> What's the reason for wanting to do this transformation?
>
> > drivers/char/tpm/tpm1-cmd.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/char/tpm/tpm1-cmd.c b/drivers/char/tpm/tpm1-
> > cmd.c
> > index ca7158fa6e6c..4d8415e3b778 100644
> > --- a/drivers/char/tpm/tpm1-cmd.c
> > +++ b/drivers/char/tpm/tpm1-cmd.c
> > @@ -794,7 +794,7 @@ int tpm1_pm_suspend(struct tpm_chip *chip, u32
> > tpm_suspend_pcr)
> > */
> > int tpm1_get_pcr_allocation(struct tpm_chip *chip)
> > {
> > - chip->allocated_banks = kcalloc(1, sizeof(*chip-
> > >allocated_banks),
> > + chip->allocated_banks = kzalloc(sizeof(*chip->allocated_banks),
> > GFP_KERNEL);
> > if (!chip->allocated_banks)
> > return -ENOMEM;
>
> The reason tpm1 has this is because it mirrors the allocation in tpm2
> so we retain code consistency. It's a fairly minor advantage, so it
> could be changed if you have a better rationale ... but what is it?

Yup, I neither understand this.

> James

/Jarkko