From 7aee8a63e2ad8aac9fc0c0902e1c6e406a6b149f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
Date: Wed, 24 Nov 2021 10:56:02 +0000
Subject: [PATCH 105/108] util: fix cache invalidation of swtpm capabilities
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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@us.ibm.com>
  Date:   Thu Jul 25 14:22:04 2019 -0400

    tpm: Check whether previously found executables were updated

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
(cherry picked from commit e18fff6c85485e45ea17385862b80af9dc37383e)
---
 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 1a61a92f69..79e1c3cd6a 100644
--- a/src/util/virtpm.c
+++ b/src/util/virtpm.c
@@ -298,7 +298,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;
         }
 
-- 
2.33.0

