[libvirt] [PATCHv5 2/8] qemu: bulk stats: implement CPU stats group
Francesco Romani
fromani at redhat.com
Mon Sep 15 12:56:03 UTC 2014
----- Original Message -----
> From: "Peter Krempa" <pkrempa at redhat.com>
> To: "Francesco Romani" <fromani at redhat.com>, libvir-list at redhat.com
> Sent: Monday, September 15, 2014 2:49:50 PM
> Subject: Re: [libvirt] [PATCHv5 2/8] qemu: bulk stats: implement CPU stats group
> > +static int
> > +qemuDomainGetStatsCpu(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
> > + virDomainObjPtr dom,
> > + virDomainStatsRecordPtr record,
> > + int *maxparams,
> > + unsigned int privflags ATTRIBUTE_UNUSED)
> > +{
> > + qemuDomainObjPrivatePtr priv = dom->privateData;
> > + unsigned long long cpu_time = 0;
> > + unsigned long long user_time = 0;
> > + unsigned long long sys_time = 0;
> > + int err = 0;
> > +
> > + err = virCgroupGetCpuacctUsage(priv->cgroup, &cpu_time);
>
> This code doesn't check if priv->cgroup isn't NULL and dereferences it
> unconditionally. This would crash with shutoff machines.
Ouch. Right, of course. I tested on running VMs actually, and that explains
why I haven't catched it :(
> I'll add an
> if (priv->group)
> return 0;
>
> right at the beginning.
You mean
if (!priv->cgroup)
return 0;
I believe
--
Francesco Romani
RedHat Engineering Virtualization R & D
Phone: 8261328
IRC: fromani
More information about the libvir-list
mailing list