[PATCH v3 06/12] conf: Add tpm helpers for future use

Martin Kletzander mkletzan at redhat.com
Fri Nov 26 15:43:54 UTC 2021


On Wed, Nov 10, 2021 at 10:24:25PM +0800, Luke Yue wrote:
>Currently it will only be used in the test driver.
>
>Signed-off-by: Luke Yue <lukedyue at gmail.com>
>---
> src/conf/domain_conf.c   | 67 ++++++++++++++++++++++++++++++++++++++++
> src/conf/domain_conf.h   |  6 ++++
> src/libvirt_private.syms |  2 ++
> 3 files changed, 75 insertions(+)
>
>diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
>index 3193120b79..512bfab9e9 100644
>--- a/src/conf/domain_conf.c
>+++ b/src/conf/domain_conf.c
>@@ -16931,6 +16931,73 @@ virDomainVsockDefEquals(const virDomainVsockDef *a,
> }
>
>
>+static bool
>+virDomainTPMDefEquals(const virDomainTPMDef *a,
>+                      const virDomainTPMDef *b)
>+{
>+    if (a->type != b->type)
>+        return false;
>+
>+    if (a->model != b->model)
>+        return false;
>+
>+    if (a->version != b->version)
>+        return false;
>+
>+    if (a->type == VIR_DOMAIN_TPM_TYPE_PASSTHROUGH) {
>+        if (STRNEQ_NULLABLE(a->data.passthrough.source.data.file.path,
>+                            b->data.passthrough.source.data.file.path))

This will not compile as `source` is a pointer here.

>+            return false;
>+    } else {
>+        if (a->data.emulator.hassecretuuid != b->data.emulator.hassecretuuid)
>+            return false;
>+
>+        if (a->data.emulator.hassecretuuid == true &&
>+            memcmp(a->data.emulator.secretuuid,
>+                   b->data.emulator.secretuuid,
>+                   VIR_UUID_BUFLEN))
>+            return false;
>+
>+        if (a->data.emulator.persistent_state !=
>+            b->data.emulator.persistent_state)

Also it would make sense to try to detach a device without all the
information, e.g. those that libvirt itself adds by default if they are
missing, or in this case when persistent_state is set to the specified
default (in formatdomain.html this is said to be "no" currently, but not
filled in).  Luckily the test driver itself does not do any of this, so
I guess it's fine here.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20211126/93a5377e/attachment-0001.sig>


More information about the libvir-list mailing list