[libvirt] [PATCH] virPerfEventIsEnabled: Accept NULL @perf
Daniel P. Berrange
berrange at redhat.com
Thu May 4 14:41:03 UTC 2017
On Thu, May 04, 2017 at 04:32:50PM +0200, Michal Privoznik wrote:
> After bdcf6e481 there is a crasher in libvirt. The commit assumes
> that priv->perf is always set. That is not true. For inactive
> domains, the priv->perf is not allocated as it is set in
> qemuProcessLaunch(). Now, usually we differentiate between
> accesses to inactive and active definition and it works just
> fine. Except for 'domstats'. There priv->perf is accessed without
> prior check for domain inactivity. While we could check for that,
> more robust solution is to make virPerfEventIsEnabled() accept
> NULL.
>
> How to reproduce:
> 1) ensure you have at least one inactive domain
> 2) virsh domstats
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> src/util/virperf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/util/virperf.c b/src/util/virperf.c
> index fa5b6cc..2c832b3 100644
> --- a/src/util/virperf.c
> +++ b/src/util/virperf.c
> @@ -297,7 +297,7 @@ virPerfEventDisable(virPerfPtr perf,
> bool virPerfEventIsEnabled(virPerfPtr perf,
> virPerfEventType type)
> {
> - return perf->events[type].enabled;
> + return perf && perf->events[type].enabled;
> }
ACK
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
More information about the libvir-list
mailing list