mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-09 21:21:28 +00:00
virDomainDefParseXML: Check for malicious cpu ids in <numa/>
https://bugzilla.redhat.com/show_bug.cgi?id=1176020 Some users think this is a good idea: <vcpu placement='static'>4</vcpu> <cpu mode='host-model'> <model fallback='allow'/> <numa> <cell id='0' cpus='0-1' memory='1048576' unit='KiB'/> <cell id='1' cpus='9-10' memory='2097152' unit='KiB'/> </numa> </cpu> It's not. Lets therefore introduce a check and discourage them in doing so. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> (cherry picked from commit 82af954c527e88111b05d50953b80eb4afde4d9a)
This commit is contained in:
parent
819d2168d8
commit
643c549734
@ -15070,6 +15070,12 @@ virDomainDefParseXML(xmlDocPtr xml,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (virDomainNumaGetMaxCPUID(def->numa) >= def->maxvcpus) {
|
||||||
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
|
_("CPU IDs in <numa> exceed the <vcpu> count"));
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
if (virDomainNumatuneParseXML(def->numa,
|
if (virDomainNumatuneParseXML(def->numa,
|
||||||
def->placement_mode ==
|
def->placement_mode ==
|
||||||
VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC,
|
VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user