On 22.09.2015 15:55, Claudio Fontana wrote:
> On 15.09.2015 18:07, marcandre.lur...@redhat.com wrote:
>> From: Marc-André Lureau <marcandre.lur...@redhat.com>
>>
>> Failing to create a chardev shouldn't be fatal.
>>
>> Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
>> ---
>>  hw/misc/ivshmem.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
>> index 3af73a5..7ba93c0 100644
>> --- a/hw/misc/ivshmem.c
>> +++ b/hw/misc/ivshmem.c
>> @@ -299,7 +299,7 @@ static CharDriverState* create_eventfd_chr_device(void * 
>> opaque, EventNotifier *
>>  
>>      if (chr == NULL) {
>>          error_report("creating eventfd for eventfd %d failed", eventfd);
>> -        exit(1);
>> +        return NULL;
>>      }
>>      qemu_chr_fe_claim_no_fail(chr);
>>  
>>
> 
> I took a look at the eventfd_chr array in the IVShmemState,
> and I noticed that it's allocated with malloc at some point for receiving 
> interrupts
> with g_malloc0 in pci_ivshmem_init, but it's never freed in 
> pci_ivshmem_uninit.
> 
> Is there such a change somewhere in the patchset I have missed?
> 
> Have you checked that the resources allocated during pci_ivshmem_init are 
> released on pci_ivshmem_uninit?

With your patchset applied, that would be _realize and _exit,
as changed by patch

[PATCH v3 09/46] ivshmem: more qdev conversion

Ciao,CLaudio







Reply via email to