[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c53ihvuesmymj2o5jyqz7gw7mvbrxjifmphuuhiux3qjabjnic@wcak4hfb77td>
Date: Thu, 29 Jun 2023 10:06:47 -0700
From: Jerry Snitselaar <jsnitsel@...hat.com>
To: "Limonciello, Mario" <mario.limonciello@....com>
Cc: Michael Ellerman <mpe@...erman.id.au>,
Linux regressions mailing list <regressions@...ts.linux.dev>,
Sachin Sant <sachinp@...ux.ibm.com>,
open list <linux-kernel@...r.kernel.org>,
linuxppc-dev <linuxppc-dev@...ts.ozlabs.org>, jarkko@...nel.org,
linux-integrity@...r.kernel.org
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@...mhuis.info> 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?
Regards,
Jerry
Powered by blists - more mailing lists