]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
tpm_tis: fix loop that cancels any seizure by a lower locality
authorLiam Merwick <liam.merwick@oracle.com>
Fri, 15 Feb 2019 13:35:17 +0000 (13:35 +0000)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Thu, 28 Mar 2019 01:12:14 +0000 (20:12 -0500)
In tpm_tis_mmio_write() if the requesting locality is seizing
access, any seizure by a lower locality is cancelled.  However the
loop doing the seizure had an off-by-one error and the locality
immediately preceding the requesting locality was not being cleared.
This is fixed by adjusting the test in the for loop to check the
localities up to the requesting locality.

Signed-off-by: Liam Merwick <Liam.Merwick@oracle.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
(cherry picked from commit 37b55d67c0f001b20b7831db3f9f24f1d453e1de)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/tpm/tpm_tis.c

index 15540267883d4dd4aa2e9aa9aef9c9b56eec191e..fb08b483bc0437d87bf1dfafd2dbbe23d21082ee 100644 (file)
@@ -620,7 +620,7 @@ static void tpm_tis_mmio_write(void *opaque, hwaddr addr,
                 }
 
                 /* cancel any seize by a lower locality */
-                for (l = 0; l < locty - 1; l++) {
+                for (l = 0; l < locty; l++) {
                     s->loc[l].access &= ~TPM_TIS_ACCESS_SEIZE;
                 }