From: Martin Kletzander Date: Wed, 19 Apr 2023 11:52:01 +0000 (+0200) Subject: qemu: Forbid device attach of existing platform watchdog X-Git-Tag: v9.3.0-rc1~49 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=18f7dd6f1fc332438719b7e35841990bdc48622b;p=thirdparty%2Flibvirt.git qemu: Forbid device attach of existing platform watchdog Signed-off-by: Martin Kletzander Reviewed-by: Michal Privoznik --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 28e470e4a2..523a83682c 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -7315,6 +7315,19 @@ qemuDomainAttachDeviceConfig(virDomainDef *vmdef, return -1; } + if (dev->data.watchdog->model != VIR_DOMAIN_WATCHDOG_MODEL_I6300ESB) { + size_t i; + + for (i = 0; i < vmdef->nwatchdogs; i++) { + if (vmdef->watchdogs[i]->model == dev->data.watchdog->model) { + virReportError(VIR_ERR_OPERATION_INVALID, + _("domain can only have one watchdog with model '%1$s'"), + virDomainWatchdogModelTypeToString(vmdef->watchdogs[i]->model)); + return -1; + } + } + } + VIR_APPEND_ELEMENT(vmdef->watchdogs, vmdef->nwatchdogs, dev->data.watchdog); break;