[PATCH v6 00/10] Fix segfault on migration return path

Fabiano Rosas posted 10 patches 7 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230911171320.24372-1-farosas@suse.de
Maintainers: Juan Quintela <quintela@redhat.com>, Peter Xu <peterx@redhat.com>, Leonardo Bras <leobras@redhat.com>, Lukas Straub <lukasstraub2@web.de>
migration/migration.c      | 227 +++++++++++++------------------------
migration/migration.h      |   1 -
migration/yank_functions.c |  87 +++++++++++---
migration/yank_functions.h |   8 ++
4 files changed, 160 insertions(+), 163 deletions(-)
[PATCH v6 00/10] Fix segfault on migration return path
Posted by Fabiano Rosas 7 months, 2 weeks ago
This version adds migration-specific tracking for the yank functions.

We've estabilished that using the ioc refcount is a layer violation
and that relaxing the abort() on yank.c is undesirable, so we're left
with making the migration code keep track of how many QEMUFiles are
still using the QIOChannel and (consequently) the yank function.

CI run: https://gitlab.com/farosas/qemu/-/pipelines/999810871

v5:
https://lore.kernel.org/r/20230831183916.13203-1-farosas@suse.de
v4:
https://lore.kernel.org/r/20230816142510.5637-1-farosas@suse.de
v3:
https://lore.kernel.org/r/20230811150836.2895-1-farosas@suse.de
v2:
https://lore.kernel.org/r/20230802143644.7534-1-farosas@suse.de
v1:
https://lore.kernel.org/r/20230728121516.16258-1-farosas@suse.de

Fabiano Rosas (10):
  migration: Fix possible race when setting rp_state.error
  migration: Fix possible races when shutting down the return path
  migration: Fix possible race when shutting down to_dst_file
  migration: Remove redundant cleanup of postcopy_qemufile_src
  migration: Consolidate return path closing code
  migration: Replace the return path retry logic
  migration: Move return path cleanup to main migration thread
  migration/yank: Use channel features
  migration/yank: Keep track of registered yank instances
  migration: Add a wrapper to cleanup migration files

 migration/migration.c      | 227 +++++++++++++------------------------
 migration/migration.h      |   1 -
 migration/yank_functions.c |  87 +++++++++++---
 migration/yank_functions.h |   8 ++
 4 files changed, 160 insertions(+), 163 deletions(-)

-- 
2.35.3