Alex Bennée <alex.ben...@linaro.org> wrote: > Juan Quintela <quint...@redhat.com> writes: > >> We were not unlocking bitmap mutex on the error case. >> Coverity discovered the problem. >> >> Fixes: a2326705e5 ("migration: Stop migration immediately in RDMA error >> paths") >> Signed-off-by: Juan Quintela <quint...@redhat.com> >> --- >> migration/ram.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/migration/ram.c b/migration/ram.c >> index 34724e8fe8..8c4df60f29 100644 >> --- a/migration/ram.c >> +++ b/migration/ram.c >> @@ -3040,6 +3040,7 @@ static int ram_save_iterate(QEMUFile *f, void *opaque) >> ret = rdma_registration_start(f, RAM_CONTROL_ROUND); >> if (ret < 0) { >> qemu_file_set_error(f, ret); >> + qemu_mutex_unlock(&rs->bitmap_mutex); > > I see the function uses the WITH_RCU_READ_LOCK_GUARD() macro to autofree > the RCU lock so why not use WITH_QEMU_LOCK_GUARD() instead of manually > checking the error cases?
You are right. Changing to that. Later, Juan.