On Mon, Jul 31, 2023 at 05:33:38PM -0300, Fabiano Rosas wrote:
> We can fail the blk_insert_bs() at init_blk_migration(), leaving the
> BlkMigDevState without a dirty_bitmap and BlockDriverState. Account
> for the possibly missing elements when doing cleanup.
>
> Fix the following crashes:
>
> Thread 1 "qemu-system-x86" received signal SIGSEGV, Segmentation fault.
> 0x0000555555ec83ef in bdrv_release_dirty_bitmap (bitmap=0x0) at
> ../block/dirty-bitmap.c:359
> 359 BlockDriverState *bs = bitmap->bs;
> #0 0x0000555555ec83ef in bdrv_release_dirty_bitmap (bitmap=0x0) at
> ../block/dirty-bitmap.c:359
> #1 0x0000555555bba331 in unset_dirty_tracking () at ../migration/block.c:371
> #2 0x0000555555bbad98 in block_migration_cleanup_bmds () at
> ../migration/block.c:681
>
> Thread 1 "qemu-system-x86" received signal SIGSEGV, Segmentation fault.
> 0x0000555555e971ff in bdrv_op_unblock (bs=0x0,
> op=BLOCK_OP_TYPE_BACKUP_SOURCE, reason=0x0) at ../block.c:7073
> 7073 QLIST_FOREACH_SAFE(blocker, &bs->op_blockers[op], list, next) {
> #0 0x0000555555e971ff in bdrv_op_unblock (bs=0x0,
> op=BLOCK_OP_TYPE_BACKUP_SOURCE, reason=0x0) at ../block.c:7073
> #1 0x0000555555e9734a in bdrv_op_unblock_all (bs=0x0, reason=0x0) at
> ../block.c:7095
> #2 0x0000555555bbae13 in block_migration_cleanup_bmds () at
> ../migration/block.c:690
>
> Signed-off-by: Fabiano Rosas <[email protected]>
> ---
> migration/block.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)Sorry, I missed this patch! If this needs to be in QEMU 8.1 (-rc3 is being tagged today), please reply and provide a justification. At this point only security fixes and showstoppers will be merged. Thanks! Applied to my block-next tree for QEMU 8.2: https://gitlab.com/stefanha/qemu/commits/block-next Stefan
signature.asc
Description: PGP signature
