From: Sasha Levin Date: Thu, 26 Sep 2019 23:23:17 +0000 (-0400) Subject: fixes for 4.19 X-Git-Tag: v5.3.2~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c998a502cfc8f0f1c1cf531a31e95a56ca638db1;p=thirdparty%2Fkernel%2Fstable-queue.git fixes for 4.19 Signed-off-by: Sasha Levin --- diff --git a/queue-4.19/series b/queue-4.19/series index 1aaa9a78868..a0b07644082 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -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 index 00000000000..26ff9632b61 --- /dev/null +++ b/queue-4.19/tpm-fix-tpm-1.2-shutdown-sequence-to-prevent-future-.patch @@ -0,0 +1,49 @@ +From aab87c3ceddddef68a0d1ae239d60faf6125d9a4 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +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 + +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 +[dianders: resolved merge conflicts with mainline] +Signed-off-by: Douglas Anderson +Reviewed-by: Jarkko Sakkinen +Signed-off-by: Jarkko Sakkinen +Signed-off-by: Sasha Levin +--- + 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 +