[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1] vhost: release memory objects in error path
|
From: |
Peter Xu |
|
Subject: |
Re: [PATCH v1] vhost: release memory objects in error path |
|
Date: |
Fri, 26 May 2023 10:41:32 -0400 |
On Fri, May 26, 2023 at 01:10:51PM +0530, P J P wrote:
> From: Prasad Pandit <pjp@fedoraproject.org>
>
> vhost_dev_start function does not release memory objects in case
> of an error. This may crash the guest with:
>
> stack trace of thread 125653:
> Program terminated with signal SIGSEGV, Segmentation fault
> #0 memory_listener_register (qemu-kvm + 0x6cda0f)
> #1 vhost_dev_start (qemu-kvm + 0x699301)
> #2 vhost_net_start (qemu-kvm + 0x45b03f)
> #3 virtio_net_set_status (qemu-kvm + 0x665672)
> #4 qmp_set_link (qemu-kvm + 0x548fd5)
> #5 net_vhost_user_event (qemu-kvm + 0x552c45)
> #6 tcp_chr_connect (qemu-kvm + 0x88d473)
> #7 tcp_chr_new_client (qemu-kvm + 0x88cf83)
> #8 tcp_chr_accept (qemu-kvm + 0x88b429)
> #9 qio_net_listener_channel_func (qemu-kvm + 0x7ac07c)
> #10 g_main_context_dispatch (libglib-2.0.so.0 + 0x54e2f)
>
> Release memory_listener and virtqueue objects in the error path.
IMHO it'll still good to mention that it's not event_notifier_init() that
failed but vhost_set_mem_table(), since that is probably not crystal clear.
The event_notifier_init() change is just something to fix altogether (or
with a separate patch, but this is fine by me).
Please also consider adding a "Bugzilla:" link to the original bug report.
>
> Signed-off-by: Prasad Pandit <pjp@fedoraproject.org>
Reviewed-by: Peter Xu <peterx@redhat.com>
Thanks!
--
Peter Xu