Re: [PATCH] tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations

From: Jarkko Sakkinen
Date: Thu Jul 11 2019 - 14:34:55 EST


On Thu, Jul 11, 2019 at 09:29:19AM -0700, Douglas Anderson wrote:
> From: Vadim Sukhomlinov <sukhomlinov@xxxxxxxxxx>
>
> commit db4d8cb9c9f2af71c4d087817160d866ed572cc9 upstream.
>
> TPM 2.0 Shutdown involve sending TPM2_Shutdown to TPM chip and disabling
> future TPM operations. TPM 1.2 behavior was different, future TPM
> operations weren't disabled, causing rare issues. This patch ensures
> that future TPM operations are disabled.
>
> Fixes: d1bd4a792d39 ("tpm: Issue a TPM2_Shutdown for TPM2 devices.")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Vadim Sukhomlinov <sukhomlinov@xxxxxxxxxx>
> [dianders: resolved merge conflicts with mainline]
> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
> ---
> This is the backport of the patch referenced above to 4.19 as was done
> in Chrome OS. See <https://crrev.com/c/1495114> for details. It
> presumably applies to some older kernels. NOTE that the problem
> itself has existed for a long time, but continuing to backport this
> exact solution to super old kernels is out of scope for me. For those
> truly interested feel free to reference the past discussion [1].
>
> Reason for backport: mainline has commit a3fbfae82b4c ("tpm: take TPM
> chip power gating out of tpm_transmit()") and commit 719b7d81f204
> ("tpm: introduce tpm_chip_start() and tpm_chip_stop()") and it didn't
> seem like a good idea to backport 17 patches to avoid the conflict.

Acked-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>

/Jarkko