[PATCH] net/virtio-user: fix eventfd sharing in secondary process
Stephen Hemminger
stephen at networkplumber.org
Wed Jun 24 17:16:10 CEST 2026
On Wed, 24 Jun 2026 08:57:41 +0000
Samar Yadav <samaryadav5 at gmail.com> wrote:
> @@ -865,9 +913,15 @@ virtio_user_dev_uninit(struct virtio_user_dev *dev)
>
> rte_mem_event_callback_unregister(VIRTIO_USER_MEM_EVENT_CLB_NAME, dev);
>
> + /*
> + * Serialize closing/freeing the kick/call fd arrays against the MP
> + * handler, which reads them under the same lock to share them with
> + * secondary processes.
> + */
> + pthread_mutex_lock(&dev->mutex);
> virtio_user_dev_uninit_notify(dev);
> -
> virtio_user_free_vrings(dev);
> + pthread_mutex_unlock(&dev->mutex);
>
> free(dev->ifname);
Related bug. virtio_user is not initializing mutex as safe between
processes. See rte_thread_mutex_init_shared() vs pthread_mutex_init()
More information about the dev
mailing list