[libvirt] [PATCH 07/10] Check for balloon model in qemuDomainSetMemoryStatsPeriod

John Ferlan jferlan at redhat.com
Fri Jun 5 11:55:52 UTC 2015



On 06/04/2015 09:58 AM, Ján Tomko wrote:
> There's no point in calling the monitor if there is no balloon.
> ---
>  src/qemu/qemu_driver.c | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 

Coverity found...

> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 4690406..bfd59a9 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -2459,6 +2459,14 @@ static int qemuDomainSetMemoryStatsPeriod(virDomainPtr dom, int period,
>      priv = vm->privateData;
>  
>      if (def) {

Checking 'def' here...

> +        if (!def->memballoon ||
> +            def->memballoon->model != VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO) {
> +            virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> +                           _("Memory balloon model must be virtio to set the"
> +                             " collection period"));
> +            goto endjob;
> +        }
> +
>          qemuDomainObjEnterMonitor(driver, vm);
>          r = qemuMonitorSetMemoryStatsPeriod(priv->mon, period);
>          if (qemuDomainObjExitMonitor(driver, vm) < 0)
> @@ -2475,6 +2483,13 @@ static int qemuDomainSetMemoryStatsPeriod(virDomainPtr dom, int period,
>      }
>  
>      if (persistentDef) {
> +        if (!def->memballoon ||

Assuming 'def' here.

I think you meant persistentDef->...

ACK w/ the adjustment

John

> +            def->memballoon->model != VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO) {
> +            virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> +                           _("Memory balloon model must be virtio to set the"
> +                             " collection period"));
> +            goto endjob;
> +        }
>          persistentDef->memballoon->period = period;
>          ret = virDomainSaveConfig(cfg->configDir, persistentDef);
>          goto endjob;
> 




More information about the libvir-list mailing list