Michael Tokarev <m...@tls.msk.ru> writes: > 30.08.2023 14:49, Stefan Hajnoczi wrote: >> From: Fabiano Rosas <faro...@suse.de> >> >> 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 > > This smells like -stable material, is it not? > (applies to 7.2, 8.0 and 8.1).
Yes, I agree.