From: Dr. David Alan Gilbert Date: Tue, 22 Jan 2019 17:31:11 +0000 (+0000) Subject: migration/rdma: unregister fd handler X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=fbbaacab2758cb3f32a07524710533b1d6422be4;p=qemu.git migration/rdma: unregister fd handler Unregister the fd handler before we destroy the channel, otherwise we've got a race where we might land in the fd handler just as we're closing the device. (The race is quite data dependent, you just have to have the right set of devices for it to trigger). Corresponds to RH bz: https://bugzilla.redhat.com/show_bug.cgi?id=1666601 Signed-off-by: Dr. David Alan Gilbert Message-Id: <20190122173111.29821-1-dgilbert@redhat.com> Reviewed-by: Peter Xu Signed-off-by: Dr. David Alan Gilbert --- diff --git a/migration/rdma.c b/migration/rdma.c index 9b2e7e10aa..54a3c11540 100644 --- a/migration/rdma.c +++ b/migration/rdma.c @@ -2321,6 +2321,7 @@ static void qemu_rdma_cleanup(RDMAContext *rdma) rdma->connected = false; } + qemu_set_fd_handler(rdma->channel->fd, NULL, NULL, NULL); g_free(rdma->dest_blocks); rdma->dest_blocks = NULL;