diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index fc48ed5a5f..7e4f0af25d 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -21661,6 +21661,17 @@ virDomainDefCompatibleDevice(virDomainDefPtr def, return -1; } + if (dev->type == VIR_DOMAIN_DEVICE_MEMORY) { + unsigned long long sz = dev->data.memory->size; + + if ((virDomainDefGetMemoryActual(def) + sz) > def->mem.max_memory) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Attaching memory device with size '%llu' would " + "exceed domain's maxMemory config"), sz); + return -1; + } + } + return 0; }