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?

Ciao

Claudio

Reply via email to