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? > goto out; > } -- Alex Bennée Virtualisation Tech Lead @ Linaro