qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] numa: Clean up query-memdev error handling, plu


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH] numa: Clean up query-memdev error handling, plug leak
Date: Fri, 20 Nov 2015 15:57:17 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Eduardo Habkost <address@hidden> writes:

> On Fri, Nov 20, 2015 at 02:00:40PM +0100, Markus Armbruster wrote:
>> qmp_query_memdev() doesn't fail.  Instead, it returns an empty list.
>> That's wrong.
>> 
>> Two error paths:
>> 
>> * When object_get_objects_root() returns null.  It never does, so
>>   simply drop the useless error handling.
>> 
>> * When query_memdev() fails.  This can happen, and the error to return
>>   is the one that query_memdev() currently leaks.  Passing the error
>>   from query_memdev() to qmp_query_memdev() isn't so simple, because
>>   object_child_foreach() is in the way.  Fixable, but I'd rather not
>>   try it in hard freeze.  Plug the leak, make up an error, and add a
>>   FIXME for the remaining work.
>> 
>> Screwed up in commit 76b5d85 "qmp: add query-memdev".
>> 
>> Signed-off-by: Markus Armbruster <address@hidden>
>
> Reviewed-by: Eduardo Habkost <address@hidden>
>
> Do you know how to trigger a query_memdev() error today, or is
> just theoretical?

Theoretical; I tested by injecting an error with gdb.

query_memdev() fails exactly when some object_property_get_FOO() fails.
If we decide such a failure would always be a programming error, we can
pass &error_abort and simplify things.  Opinions?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]