From: Liam Merwick Date: Fri, 15 Feb 2019 13:35:17 +0000 (+0000) Subject: tpm_tis: fix loop that cancels any seizure by a lower locality X-Git-Tag: v4.0.0-rc0~65^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=37b55d67c0f001b20b7831db3f9f24f1d453e1de;p=thirdparty%2Fqemu.git tpm_tis: fix loop that cancels any seizure by a lower locality 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 Reviewed-by: Stefan Berger Signed-off-by: Stefan Berger --- diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c index fd6bb9b59a9..61a130beef3 100644 --- a/hw/tpm/tpm_tis.c +++ b/hw/tpm/tpm_tis.c @@ -624,7 +624,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; }