On Thu, Jan 05, 2023 at 10:17:57AM -0500, James Bottomley wrote: > On Thu, 2023-01-05 at 14:59 +0100, Thorsten Leemhuis wrote: > > On 29.12.22 05:03, Jason A. Donenfeld wrote: > > > On Wed, Dec 28, 2022 at 06:07:25PM -0500, James Bottomley wrote: > > > > On Wed, 2022-12-28 at 21:22 +0100, Vlastimil Babka wrote: > > > > > Ugh, while the problem [1] was fixed in 6.1, it's now happening > > > > > again on the T460 with 6.2-rc1. Except I didn't see any oops > > > > > message or "tpm_try_transmit" error this time. The first > > > > > indication of a problem is this during a resume from suspend to > > > > > ram: > > > > > > > > > > tpm tpm0: A TPM error (28) occurred continue selftest > > > > > > > > > > and then periodically > > > > > > > > > > tpm tpm0: A TPM error (28) occurred attempting get random > > > > > > > > That's a TPM 1.2 error which means the TPM failed the selftest. > > > > The original problem was reported against TPM 2.0 because of a > > > > missing try_get_ops(). > > > > > > No, I'm pretty sure the original bug, which was fixed by "char: > > > tpm: Protect tpm_pm_suspend with locks" regards 1.2 as well, > > > especially considering it's the same hardware from Vlastimil > > > causing this. I also recall seeing this in 1.2 when I ran this with > > > the TPM emulator. So that's not correct. > > > > James, are you or some other TPM developer looking into this? Or is > > this deadlocked now? > > Not really: TPM 1.2 way predates my interest in the TPM subsystem, and > I've only ever done patches to 2.0. I can look at the paths > theoretically, but I don't have any hardware. Self Test failures tend > to be hardware specific, so even poking around in the emulator is > unlikely to give what might be the cause. > > > And if so: how can we get this unstuck to get this regression > > solved? > > One of the TPM maintainers with hardware (possibly the specific TPM ... > what is it, by the way?) needs to get involved. I already wrote in my last email [1] that this simply isn't the case. The issue reproduces in QEMU + the emulator. It's far more likely to be a locking/race situation [2] than some kind of obscure hardware bug. Jason [1] https://lore.kernel.org/lkml/Y60RoP77HnwaukEA@xxxxxxxxx/ [2] https://lore.kernel.org/lkml/Y60Uu8HcGyXasnOO@xxxxxxxxx/