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

From: Greg KH
Date: Thu Jul 11 2019 - 13:26:37 EST


On Thu, Jul 11, 2019 at 02:17:26PM -0300, Jason Gunthorpe wrote:
> On Thu, Jul 11, 2019 at 07:04:37PM +0200, Greg KH wrote:
> > On Thu, Jul 11, 2019 at 01:39:15PM -0300, Jason Gunthorpe wrote:
> > > 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.
> > >
> > > Careful with this, you can't backport this to any kernels that don't
> > > have the sysfs ops locking changes or they will crash in sysfs code.
> >
> > And what commit added that?
>
> commit 2677ca98ae377517930c183248221f69f771c921
> Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
> Date: Sun Nov 4 11:38:27 2018 +0200
>
> tpm: use tpm_try_get_ops() in tpm-sysfs.c.
>
> Use tpm_try_get_ops() in tpm-sysfs.c so that we can consider moving
> other decorations (locking, localities, power management for example)
> inside it. This direction can be of course taken only after other call
> sites for tpm_transmit() have been treated in the same way.
>
> The last sentence suggests there are other patches needed too though..

So 5.1. So does this original patch need to go into the 5.2 and 5.1
kernels?

thanks,

greg k-h