From: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Using the _locked version of bdrv_enable_dirty_bitmap to bypass locking is wrong as we do not already own the mutex. Moreover, the adjacent call to bdrv_dirty_bitmap_enable_successor grabs the mutex.
Fixes: 58f72b965e9e1q Cc: qemu-sta...@nongnu.org # v3.0 Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Andrey Shinkevich <andrey.shinkev...@virtuozzo.com> Reviewed-by: Eric Blake <ebl...@redhat.com> Message-Id: <20200727194236.19551-8-vsement...@virtuozzo.com> Signed-off-by: Eric Blake <ebl...@redhat.com> --- migration/block-dirty-bitmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c index b0dbf9eeed43..0739f1259e05 100644 --- a/migration/block-dirty-bitmap.c +++ b/migration/block-dirty-bitmap.c @@ -566,7 +566,7 @@ void dirty_bitmap_mig_before_vm_start(void) DirtyBitmapLoadBitmapState *b = item->data; if (b->migrated) { - bdrv_enable_dirty_bitmap_locked(b->bitmap); + bdrv_enable_dirty_bitmap(b->bitmap); } else { bdrv_dirty_bitmap_enable_successor(b->bitmap); } -- 2.27.0