The patch below does not apply to the 4.19-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From db4d8cb9c9f2af71c4d087817160d866ed572cc9 Mon Sep 17 00:00:00 2001
From: Vadim Sukhomlinov sukhomlinov@google.com Date: Mon, 10 Jun 2019 15:01:18 -0700 Subject: [PATCH] tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations
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
diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c index 90325e1749fb..d47ad10a35fe 100644 --- a/drivers/char/tpm/tpm-chip.c +++ b/drivers/char/tpm/tpm-chip.c @@ -289,15 +289,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); if (!tpm_chip_start(chip)) { tpm2_shutdown(chip, TPM2_SU_CLEAR); tpm_chip_stop(chip); } - chip->ops = NULL; - up_write(&chip->ops_sem); } + chip->ops = NULL; + up_write(&chip->ops_sem);
return 0; }
Hi,
On Thu, Jul 11, 2019 at 4:35 AM gregkh@linuxfoundation.org wrote:
The patch below does not apply to the 4.19-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From db4d8cb9c9f2af71c4d087817160d866ed572cc9 Mon Sep 17 00:00:00 2001 From: Vadim Sukhomlinov sukhomlinov@google.com Date: Mon, 10 Jun 2019 15:01:18 -0700 Subject: [PATCH] tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations
Posted at:
https://lkml.kernel.org/r/20190711162919.23813-1-dianders@chromium.org
On Thu, Jul 11, 2019 at 09:30:25AM -0700, Doug Anderson wrote:
Hi,
On Thu, Jul 11, 2019 at 4:35 AM gregkh@linuxfoundation.org wrote:
The patch below does not apply to the 4.19-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From db4d8cb9c9f2af71c4d087817160d866ed572cc9 Mon Sep 17 00:00:00 2001 From: Vadim Sukhomlinov sukhomlinov@google.com Date: Mon, 10 Jun 2019 15:01:18 -0700 Subject: [PATCH] tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations
Posted at:
https://lkml.kernel.org/r/20190711162919.23813-1-dianders@chromium.org
Thank you! I usually end up taking care of these myself :-) A rare occasion. Does this also address 4.4, 4.9 and 4.14 or do they still need backports of their own?
/Jarkko
Hi,
On Thu, Jul 11, 2019 at 11:17 AM Jarkko Sakkinen jarkko.sakkinen@linux.intel.com wrote:
On Thu, Jul 11, 2019 at 09:30:25AM -0700, Doug Anderson wrote:
Hi,
On Thu, Jul 11, 2019 at 4:35 AM gregkh@linuxfoundation.org wrote:
The patch below does not apply to the 4.19-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From db4d8cb9c9f2af71c4d087817160d866ed572cc9 Mon Sep 17 00:00:00 2001 From: Vadim Sukhomlinov sukhomlinov@google.com Date: Mon, 10 Jun 2019 15:01:18 -0700 Subject: [PATCH] tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations
Posted at:
https://lkml.kernel.org/r/20190711162919.23813-1-dianders@chromium.org
Thank you! I usually end up taking care of these myself :-) A rare occasion. Does this also address 4.4, 4.9 and 4.14 or do they still need backports of their own?
In Chrome OS we have the same solution for 4.14.
This patch will _definitely_ not apply cleanly for 4.4. Not sure what the best course of action is there, but in the "after the cut" notes in my post I talk about it a little bit.
On 4.9 things look similar-ish, but I don't know quite enough to know if it will work well there.
(all of this in the context that apparently some extra locking patches even for 4.14 and 4.19--see the thread in response to my posted patch).
-Doug
On Thu, Jul 11, 2019 at 11:49:10AM -0700, Doug Anderson wrote:
Hi,
On Thu, Jul 11, 2019 at 11:17 AM Jarkko Sakkinen jarkko.sakkinen@linux.intel.com wrote:
On Thu, Jul 11, 2019 at 09:30:25AM -0700, Doug Anderson wrote:
Hi,
On Thu, Jul 11, 2019 at 4:35 AM gregkh@linuxfoundation.org wrote:
The patch below does not apply to the 4.19-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From db4d8cb9c9f2af71c4d087817160d866ed572cc9 Mon Sep 17 00:00:00 2001 From: Vadim Sukhomlinov sukhomlinov@google.com Date: Mon, 10 Jun 2019 15:01:18 -0700 Subject: [PATCH] tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations
Posted at:
https://lkml.kernel.org/r/20190711162919.23813-1-dianders@chromium.org
Thank you! I usually end up taking care of these myself :-) A rare occasion. Does this also address 4.4, 4.9 and 4.14 or do they still need backports of their own?
In Chrome OS we have the same solution for 4.14.
This patch will _definitely_ not apply cleanly for 4.4. Not sure what the best course of action is there, but in the "after the cut" notes in my post I talk about it a little bit.
On 4.9 things look similar-ish, but I don't know quite enough to know if it will work well there.
(all of this in the context that apparently some extra locking patches even for 4.14 and 4.19--see the thread in response to my posted patch).
OK, I'll look at those when I come back from leave after two weeks.
/Jarkko
linux-stable-mirror@lists.linaro.org