[Public] > -----Original Message----- > From: Jerry Snitselaar <jsnitsel@xxxxxxxxxx> > Sent: Thursday, June 29, 2023 12:07 PM > To: Limonciello, Mario <Mario.Limonciello@xxxxxxx> > Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>; Linux regressions mailing list > <regressions@xxxxxxxxxxxxxxx>; Sachin Sant <sachinp@xxxxxxxxxxxxx>; open > list <linux-kernel@xxxxxxxxxxxxxxx>; linuxppc-dev <linuxppc- > dev@xxxxxxxxxxxxxxxx>; jarkko@xxxxxxxxxx; linux-integrity@xxxxxxxxxxxxxxx > Subject: Re: [6.4-rc6] Crash during a kexec operation > (tpm_amd_is_rng_defective) > > On Thu, Jun 22, 2023 at 09:38:04AM -0500, Limonciello, Mario wrote: > > > > On 6/22/2023 7:36 AM, Michael Ellerman wrote: > > > "Linux regression tracking (Thorsten Leemhuis)" > <regressions@xxxxxxxxxxxxx> writes: > > > > Hi, Thorsten here, the Linux kernel's regression tracker. Top-posting > > > > for once, to make this easily accessible to everyone. > > > > > > > > As Linus will likely release 6.4 on this or the following Sunday a quick > > > > question: is there any hope this regression might be fixed any time > > > > soon? > > > No. > > > > > > I have added the author of the commit to Cc, maybe they can help? > > > > > > The immediate question is, is it expected for chip->ops to be NULL in > > > this path? Obviously on actual AMD systems that isn't the case, > > > otherwise the code would crash there. But is the fact that chip->ops is > > > NULL a bug in the ibmvtpm driver, or a possibility that has been > > > overlooked by the checking code. > > > > > > cheers > > > > All that code assumes that the TPM is still functional which > > seems not to be the case for your TPM. > > > > This should fix it: > > > > diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c > > index 5be91591cb3b..7082b031741e 100644 > > --- a/drivers/char/tpm/tpm-chip.c > > +++ b/drivers/char/tpm/tpm-chip.c > > @@ -525,6 +525,9 @@ static bool tpm_amd_is_rng_defective(struct > tpm_chip > > *chip) > > u64 version; > > int ret; > > > > + if (!chip->ops) > > + return false; > > + > > if (!(chip->flags & TPM_CHIP_FLAG_TPM2)) > > return false; > > > Should tpm_amd_is_rng_defective compile to nothing on non-x86 > architectures? This code is all about > working around an issue with the AMD fTPM, right? > That's a good point. Yes it could and that would also solve this problem.