On Wed, 2019-07-03 at 23:32 -0400, Nayna Jain wrote: > The nr_allocated_banks and allocated banks are initialized as part of > tpm_chip_register. Currently, this is done as part of auto startup > function. However, some drivers, like the ibm vtpm driver, do not run > auto startup during initialization. This results in uninitialized memory > issue and causes a kernel panic during boot. > > This patch moves the pcr allocation outside the auto startup function > into tpm_chip_register. This ensures that allocated banks are initialized > in any case. > > Fixes: 879b589210a9 ("tpm: retrieve digest size of unknown algorithms with > PCR read") > Signed-off-by: Nayna Jain <nayna@xxxxxxxxxxxxx> Please add Reported-by: Michal Suchanek <msuchanek@xxxxxxx> It is missing. Michal is there a chance you could try this out once Nayna send a new version? > --- > drivers/char/tpm/tpm-chip.c | 37 +++++++++++++++++++++++++++++++++++++ > drivers/char/tpm/tpm.h | 1 + > drivers/char/tpm/tpm1-cmd.c | 12 ------------ > drivers/char/tpm/tpm2-cmd.c | 6 +----- > 4 files changed, 39 insertions(+), 17 deletions(-) > > diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c > index 8804c9e916fd..958508bb8379 100644 > --- a/drivers/char/tpm/tpm-chip.c > +++ b/drivers/char/tpm/tpm-chip.c > @@ -550,6 +550,39 @@ static int tpm_add_hwrng(struct tpm_chip *chip) > return hwrng_register(&chip->hwrng); > } > > +/* > + * tpm_pcr_allocation() - initializes the chip allocated banks for PCRs > + */ > +static int tpm_pcr_allocation(struct tpm_chip *chip) Why that name and not tpm_get_pcr_allocation()? Do not get why "get_" has been dropped. Please add it back. Would be senseful to create tpm1_get_pcr_allocation() to tpm1-cmd.c now that a new function needs to be introduced anyway. Please do it for that for TPM 1.x part. /Jarkko