On 11/24/21 11:58, Daniel P. Berrangé wrote:
The check for whether the swtpm binary was modified is checking
pointers
to the mtime field in two distinct structs, so will always compare
different. This resulted in re-probing swtpm capabilities every time,
as many as 20 times for a single VM launch.
Fixes:
commit 01cf7a1bb9f1da27ad8bcbaa82c4f7a948c6a793
Author: Stefan Berger <stefanb(a)us.ibm.com>
Date: Thu Jul 25 14:22:04 2019 -0400
tpm: Check whether previously found executables were updated
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
src/util/virtpm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/util/virtpm.c b/src/util/virtpm.c
index 8a77ba98ff..ffec23a535 100644
--- a/src/util/virtpm.c
+++ b/src/util/virtpm.c
@@ -301,7 +301,7 @@ virTPMEmulatorInit(void)
findit = true;
if (!findit &&
- &statbuf.st_mtime != &prgs[i].stat->st_mtime)
+ statbuf.st_mtime != prgs[i].stat->st_mtime)
findit = true;
}
Well, if the function ends up on the same position in stack every time
it's called then this works :-)
Reviewed-by: Michal Privoznik <mprivozn(a)redhat.com>
Michal