All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH v2 0/4] migration: Fix multifd qemu_mutex_destroy race
@ 2023-11-10 20:02 Fabiano Rosas
  2023-11-10 20:02 ` [RFC PATCH v2 1/4] migration/multifd: Stop setting p->ioc before connecting Fabiano Rosas
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Fabiano Rosas @ 2023-11-10 20:02 UTC (permalink / raw)
  To: qemu-devel
  Cc: Juan Quintela, Peter Xu, Leonardo Bras,
	Philippe Mathieu-Daudé

changes:
- dropped the Error patch
- removed p->running
- joined the TLS thread

v1:
https://lore.kernel.org/r/20231109165856.15224-1-farosas@suse.de

We're calling qemu_sem_post() in threads other than the multifd
channel and the migration thread. This is vulnerable to a race with
multifd_save_cleanup() which calls qemu_sem_destroy(). If we attempt
to destroy the semaphore mutex with the lock taken, the code asserts.

We're hitting this in the current master and we've had reports of this
in the past already:

[PATCH] migrate/multifd: fix coredump when the multifd thread cleanup
https://lore.kernel.org/r/20230621081826.3203053-1-zhangjianguo18@huawei.com

Fabiano Rosas (4):
  migration/multifd: Stop setting p->ioc before connecting
  migration/multifd: Join the TLS thread
  migration/multifd: Remove p->running
  migration/multifd: Move semaphore release into main thread

 migration/migration.c |  4 +-
 migration/multifd.c   | 87 +++++++++++++++++++++++--------------------
 migration/multifd.h   |  9 ++---
 3 files changed, 53 insertions(+), 47 deletions(-)

-- 
2.35.3



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-11-16 15:54 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-10 20:02 [RFC PATCH v2 0/4] migration: Fix multifd qemu_mutex_destroy race Fabiano Rosas
2023-11-10 20:02 ` [RFC PATCH v2 1/4] migration/multifd: Stop setting p->ioc before connecting Fabiano Rosas
2023-11-13 22:15   ` Peter Xu
2023-11-16 15:54   ` Juan Quintela
2023-11-10 20:02 ` [RFC PATCH v2 2/4] migration/multifd: Join the TLS thread Fabiano Rosas
2023-11-13 17:33   ` Peter Xu
2023-11-10 20:02 ` [RFC PATCH v2 3/4] migration/multifd: Remove p->running Fabiano Rosas
2023-11-10 20:02 ` [RFC PATCH v2 4/4] migration/multifd: Move semaphore release into main thread Fabiano Rosas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.