Message ID | 20191009212831.29081-4-jarkko.sakkinen@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations | expand |
On Thu, Oct 10, 2019 at 12:28:31AM +0300, Jarkko Sakkinen wrote: > From: Vadim Sukhomlinov <sukhomlinov@google.com> > > 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@vger.kernel.org > Signed-off-by: Vadim Sukhomlinov <sukhomlinov@google.com> > [dianders: resolved merge conflicts with mainline] > Signed-off-by: Douglas Anderson <dianders@chromium.org> > Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> > --- > drivers/char/tpm/tpm-chip.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) This is already in the 4.14.148 4.19.78 5.1.18 5.2.1 5.3 releases. thansk, greg k-h
On Thu, Oct 10, 2019 at 10:28:07AM +0200, Greg Kroah-Hartman wrote: > On Thu, Oct 10, 2019 at 12:28:31AM +0300, Jarkko Sakkinen wrote: > > From: Vadim Sukhomlinov <sukhomlinov@google.com> > > > > 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@vger.kernel.org > > Signed-off-by: Vadim Sukhomlinov <sukhomlinov@google.com> > > [dianders: resolved merge conflicts with mainline] > > Signed-off-by: Douglas Anderson <dianders@chromium.org> > > Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> > > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> > > --- > > drivers/char/tpm/tpm-chip.c | 9 ++++----- > > 1 file changed, 4 insertions(+), 5 deletions(-) > > This is already in the 4.14.148 4.19.78 5.1.18 5.2.1 5.3 releases. There was one extra NULL assigment (non op). Nothing critical. /Jarkko
diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c index 0eca20c5a80c..ac8a3812fbcd 100644 --- a/drivers/char/tpm/tpm-chip.c +++ b/drivers/char/tpm/tpm-chip.c @@ -158,12 +158,11 @@ static int tpm_class_shutdown(struct device *dev) { struct tpm_chip *chip = container_of(dev, struct tpm_chip, dev); - if (chip->flags & TPM_CHIP_FLAG_TPM2) { - down_write(&chip->ops_sem); + down_write(&chip->ops_sem); + if (chip->flags & TPM_CHIP_FLAG_TPM2) tpm2_shutdown(chip, TPM2_SU_CLEAR); - chip->ops = NULL; - up_write(&chip->ops_sem); - } + chip->ops = NULL; + up_write(&chip->ops_sem); return 0; }