]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
fixes for 4.14
authorSasha Levin <sashal@kernel.org>
Thu, 26 Sep 2019 23:23:18 +0000 (19:23 -0400)
committerSasha Levin <sashal@kernel.org>
Thu, 26 Sep 2019 23:23:18 +0000 (19:23 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.14/series
queue-4.14/tpm-fix-tpm-1.2-shutdown-sequence-to-prevent-future-.patch [new file with mode: 0644]

index 6f365d90149d2450c71b24a0a82f2c01086487d1..87e6357f91113b5e7083a73fbf888f2b464a548b 100644 (file)
@@ -15,3 +15,4 @@ arm64-kpti-whitelist-cortex-a-cpus-that-don-t-implement-the-csv3-field.patch
 alsa-hda-add-laptop-imic-fixup-for-asus-m9v-laptop.patch
 alsa-hda-apply-amd-controller-workaround-for-raven-platform.patch
 objtool-clobber-user-cflags-variable.patch
+tpm-fix-tpm-1.2-shutdown-sequence-to-prevent-future-.patch
diff --git a/queue-4.14/tpm-fix-tpm-1.2-shutdown-sequence-to-prevent-future-.patch b/queue-4.14/tpm-fix-tpm-1.2-shutdown-sequence-to-prevent-future-.patch
new file mode 100644 (file)
index 0000000..ec3b908
--- /dev/null
@@ -0,0 +1,49 @@
+From e09e1a3e589e38ff8c402f7c97d30491b502dd2e Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 25 Sep 2019 13:15:32 +0300
+Subject: tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations
+
+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>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/char/tpm/tpm-chip.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c
+index 0eca20c5a80cf..ede8c1deca979 100644
+--- a/drivers/char/tpm/tpm-chip.c
++++ b/drivers/char/tpm/tpm-chip.c
+@@ -158,12 +158,15 @@ static int tpm_class_shutdown(struct device *dev)
+ {
+       struct tpm_chip *chip = container_of(dev, struct tpm_chip, dev);
++      down_write(&chip->ops_sem);
+       if (chip->flags & TPM_CHIP_FLAG_TPM2) {
+               down_write(&chip->ops_sem);
+               tpm2_shutdown(chip, TPM2_SU_CLEAR);
+               chip->ops = NULL;
+               up_write(&chip->ops_sem);
+       }
++      chip->ops = NULL;
++      up_write(&chip->ops_sem);
+       return 0;
+ }
+-- 
+2.20.1
+