diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c index d9aa69c22e..3274659954 100644 --- a/src/conf/cpu_conf.c +++ b/src/conf/cpu_conf.c @@ -130,9 +130,15 @@ virCPUDefParseXML(const xmlNodePtr node, } if (mode == VIR_CPU_TYPE_AUTO) { - if (virXPathBoolean("boolean(./arch)", ctxt)) + if (virXPathBoolean("boolean(./arch)", ctxt)) { + if (virXPathBoolean("boolean(./@match)", ctxt)) { + virCPUReportError(VIR_ERR_XML_ERROR, "%s", + _("'arch' element element cannot be used inside 'cpu'" + " element with 'match' attribute'")); + goto error; + } def->type = VIR_CPU_TYPE_HOST; - else + } else def->type = VIR_CPU_TYPE_GUEST; } else def->type = mode;