[libvirt] [PATCH] Fix multiple bugs in LXC domainMemoryStats driver
Michal Privoznik
mprivozn at redhat.com
Thu Feb 20 15:38:03 UTC 2014
On 20.02.2014 16:34, Daniel P. Berrange wrote:
> The virCgroupXXX APIs' return value must be checked for
> being less than 0, not equal to 0.
>
> An VIR_ERR_OPERATION_INVALID error must also be raised
> when the VM is not running to prevent a crash on NULL
> priv->cgroup field.
>
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
> src/lxc/lxc_driver.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
> index 50910df..10e0fbb 100644
> --- a/src/lxc/lxc_driver.c
> +++ b/src/lxc/lxc_driver.c
> @@ -5410,13 +5410,16 @@ lxcDomainMemoryStats(virDomainPtr dom,
> if (virDomainMemoryStatsEnsureACL(dom->conn, vm->def) < 0)
> goto cleanup;
>
> - if (!virCgroupGetMemSwapUsage(priv->cgroup, &swap_usage))
> + if (!virDomainObjIsActive(vm)) {
> + virReportError(VIR_ERR_OPERATION_INVALID, "%s",
> + _("domain is not active"));
> goto cleanup;
> + }
>
> - if (!virCgroupGetMemoryUsage(priv->cgroup, &mem_usage))
> + if (virCgroupGetMemSwapUsage(priv->cgroup, &swap_usage) < 0)
> goto cleanup;
>
> - if (!virDomainObjIsActive(vm))
> + if (virCgroupGetMemoryUsage(priv->cgroup, &mem_usage) < 0)
> goto cleanup;
>
> ret = 0;
>
ACK
Michal
More information about the libvir-list
mailing list