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

index 1aaa9a78868d277dee5734346a5b278a5a5436c5..a0b07644082ead44df2dc05af523447b0a7cda43 100644 (file)
@@ -30,3 +30,4 @@ alsa-dice-fix-wrong-packet-parameter-for-alesis-io26.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.19/tpm-fix-tpm-1.2-shutdown-sequence-to-prevent-future-.patch b/queue-4.19/tpm-fix-tpm-1.2-shutdown-sequence-to-prevent-future-.patch
new file mode 100644 (file)
index 0000000..26ff963
--- /dev/null
@@ -0,0 +1,49 @@
+From aab87c3ceddddef68a0d1ae239d60faf6125d9a4 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 46caadca916a0..dccc61af9ffab 100644
+--- a/drivers/char/tpm/tpm-chip.c
++++ b/drivers/char/tpm/tpm-chip.c
+@@ -187,12 +187,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
+