[libvirt] [PATCH v2 11/30] cpu_x86: Make sure CPU model names are unique in cpu_map

Jiri Denemark jdenemar at redhat.com
Tue Mar 5 09:40:27 UTC 2019


Having multiple CPU model definitions with the same name could result in
unexpected behavior.

Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
Reviewed-by: Ján Tomko <jtomko at redhat.com>
---

Notes:
    Version 2:
    - no change

 src/cpu/cpu_x86.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index c54b09396f..4dd10fb561 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -1293,9 +1293,15 @@ x86ModelParse(xmlXPathContextPtr ctxt,
               void *data)
 {
     virCPUx86MapPtr map = data;
-    virCPUx86ModelPtr model;
+    virCPUx86ModelPtr model = NULL;
     int ret = -1;
 
+    if (x86ModelFind(map, name)) {
+        virReportError(VIR_ERR_INTERNAL_ERROR,
+                       _("Multiple definitions of CPU model '%s'"), name);
+        goto cleanup;
+    }
+
     if (!(model = x86ModelNew()))
         goto cleanup;
 
-- 
2.21.0




More information about the libvir-list mailing list