[libvirt] [PATCH 00/12] Various libxl driver improvements
Jim Fehlig
jfehlig at suse.com
Wed Sep 4 21:09:13 UTC 2013
John Ferlan wrote:
> On 09/03/2013 07:57 PM, Jim Fehlig wrote:
>
>> Jim Fehlig wrote:
>>
> <...snip...>
>
>> I addressed the review comments from the various patches and pushed the
>> series. Thanks for the reviews!
>>
>> Regards,
>> Jim
>>
>>
>
> The changes have resulted in one Coverity found issue that seems to
> have been there "for a while" (at least as far as git blame is concerned).
>
> In libxlDomainCoreDump() Coverity has noted a FORWARD_NULL reference:
>
> 2004 if ((flags & VIR_DUMP_CRASH) && !vm->persistent) {
> 2005 virDomainObjListRemove(driver->domains, vm);
>
> (20) Event assign_zero: Assigning: "vm" = "NULL".
> Also see events: [var_deref_model]
>
> 2006 vm = NULL;
> 2007 }
> 2008
> 2009 ret = 0;
> 2010
> 2011 cleanup_unpause:
>
> (21) Event var_deref_model: Passing null pointer "vm" to function "virDomainObjIsActive(virDomainObjPtr)", which dereferences it. [details]
> Also see events: [assign_zero]
>
> 2012 if (virDomainObjIsActive(vm) && paused) {
> 2013 if (libxl_domain_unpause(priv->ctx, dom->id) != 0) {
> 2014 virReportError(VIR_ERR_INTERNAL_ERROR,
> 2015 _("After dumping core, failed to resume domain '%d' with"
>
>
> Not quite sure which is the best course of action, but it seems
> there needs to be at least a "if (vm && virDomainObjIsActive(vm)..."
>
It took me a bit to figure out why the IsActive test is even needed, but
I think it is to handle !VIR_DUMP_LIVE and VIR_DUMP_CRASH. I.e. we
don't want to unpause a domain we just crashed. Checking for non-NULL
vm is certainly one way to fix the coverity warning.
> Also, the ListRemove call could probably be moved up into the
> previous if condition since they both require VIR_DUMP_CRASH
>
Thanks for pointing that out. What do you think of the attached patch?
Regards,
Jim
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libxl-coverity-fix.patch
Type: text/x-patch
Size: 2362 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130904/9d05d5cb/attachment-0001.bin>
More information about the libvir-list
mailing list