Thread (12 messages) 12 messages, 6 authors, 2023-06-29

Re: [6.4-rc6] Crash during a kexec operation (tpm_amd_is_rng_defective)

From: Jerry Snitselaar <hidden>
Date: 2023-06-29 17:07:45
Also in: linux-integrity, lkml, regressions

On Thu, Jun 22, 2023 at 09:38:04AM -0500, Limonciello, Mario wrote:
quoted hunk ↗ jump to hunk
On 6/22/2023 7:36 AM, Michael Ellerman wrote:
quoted
"Linux regression tracking (Thorsten Leemhuis)" [off-list ref] writes:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help