tpm-tis: check that at most one TPM device exists
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Mon, 6 Nov 2017 18:39:21 +0000 (19:39 +0100)
committerStefan Berger <stefanb@linux.vnet.ibm.com>
Fri, 15 Dec 2017 04:39:15 +0000 (23:39 -0500)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
hw/tpm/tpm_tis.c

index 0a23203e7565a095076c42a5b3f6c61199b12575..db101b61d48245de08b9e2145eab34bc1844a9ae 100644 (file)
@@ -1061,6 +1061,11 @@ static void tpm_tis_realizefn(DeviceState *dev, Error **errp)
 {
     TPMState *s = TPM(dev);
 
+    if (!tpm_find()) {
+        error_setg(errp, "at most one TPM device is permitted");
+        return;
+    }
+
     s->be_driver = qemu_find_tpm_be(s->backend);
     if (!s->be_driver) {
         error_setg(errp, "backend driver with id %s could not be found",