Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Suchanek <msuchanek@suse.de>2018-11-05 19:26:18 +0100
committerMichal Suchanek <msuchanek@suse.de>2018-11-05 19:26:18 +0100
commit843582f57e72801f722f03c9929d94be66eabf3c (patch)
treed05fefb394c3057fd81fc620e450c4e03bb46f8f
parente33a89738527cbb773305d7113a97065547c8db5 (diff)
tpm: Restore functionality to xen vtpm driver (bsc#1020645,
git-fixes).
-rw-r--r--patches.drivers/tpm-Restore-functionality-to-xen-vtpm-driver.patch63
-rw-r--r--series.conf1
2 files changed, 64 insertions, 0 deletions
diff --git a/patches.drivers/tpm-Restore-functionality-to-xen-vtpm-driver.patch b/patches.drivers/tpm-Restore-functionality-to-xen-vtpm-driver.patch
new file mode 100644
index 0000000000..17ca3088d0
--- /dev/null
+++ b/patches.drivers/tpm-Restore-functionality-to-xen-vtpm-driver.patch
@@ -0,0 +1,63 @@
+From e487a0f52301293152a6f8c4e217f2a11dd808e3 Mon Sep 17 00:00:00 2001
+From: "Dr. Greg Wettstein" <greg@wind.enjellic.com>
+Date: Mon, 17 Sep 2018 18:53:33 -0400
+Subject: [PATCH] tpm: Restore functionality to xen vtpm driver.
+
+References: bsc#1020645, git-fixes
+Patch-mainline: v4.20-rc1
+Git-commit: e487a0f52301293152a6f8c4e217f2a11dd808e3
+
+Functionality of the xen-tpmfront driver was lost secondary to
+the introduction of xenbus multi-page support in commit ccc9d90a9a8b
+("xenbus_client: Extend interface to support multi-page ring").
+
+In this commit pointer to location of where the shared page address
+is stored was being passed to the xenbus_grant_ring() function rather
+then the address of the shared page itself. This resulted in a situation
+where the driver would attach to the vtpm-stubdom but any attempt
+to send a command to the stub domain would timeout.
+
+A diagnostic finding for this regression is the following error
+message being generated when the xen-tpmfront driver probes for a
+device:
+
+<3>vtpm vtpm-0: tpm_transmit: tpm_send: error -62
+
+<3>vtpm vtpm-0: A TPM error (-62) occurred attempting to determine
+the timeouts
+
+This fix is relevant to all kernels from 4.1 forward which is the
+release in which multi-page xenbus support was introduced.
+
+Daniel De Graaf formulated the fix by code inspection after the
+regression point was located.
+
+Fixes: ccc9d90a9a8b ("xenbus_client: Extend interface to support multi-page ring")
+Signed-off-by: Dr. Greg Wettstein <greg@enjellic.com>
+
+[boris: Updated commit message, added Fixes tag]
+Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
+Cc: stable@vger.kernel.org # v4.1+
+Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
+Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
+Acked-by: Michal Suchanek <msuchanek@suse.de>
+---
+ drivers/char/tpm/xen-tpmfront.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/char/tpm/xen-tpmfront.c b/drivers/char/tpm/xen-tpmfront.c
+index 911475d36800..b150f87f38f5 100644
+--- a/drivers/char/tpm/xen-tpmfront.c
++++ b/drivers/char/tpm/xen-tpmfront.c
+@@ -264,7 +264,7 @@ static int setup_ring(struct xenbus_device *dev, struct tpm_private *priv)
+ return -ENOMEM;
+ }
+
+- rv = xenbus_grant_ring(dev, &priv->shr, 1, &gref);
++ rv = xenbus_grant_ring(dev, priv->shr, 1, &gref);
+ if (rv < 0)
+ return rv;
+
+--
+2.13.7
+
diff --git a/series.conf b/series.conf
index 328f868cdf..b419a8c3f0 100644
--- a/series.conf
+++ b/series.conf
@@ -22897,6 +22897,7 @@
patches.drivers/tpm-125-vtpm_proxy-conditionally-call-tpm_chip_unregiste.patch
patches.drivers/tpm-126-adjust-return-value-of-tpm_read_log.patch
patches.drivers/tpm-127-use-idr_find-not-idr_find_slowpath.patch
+ patches.drivers/tpm-Restore-functionality-to-xen-vtpm-driver.patch
# Qualcomm TPM fate#320512, v4.11rc2 update
patches.drivers/tpm-128-add-kdoc-for-tpm_transmit-and-tpm_transmit_cmd.patch