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

From: James Bottomley
Date: Tue Dec 29 2020 - 11:24:35 EST


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