summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorCoiby Xu2020-09-18 10:09:07 +0200
committerStefan Hajnoczi2020-10-23 14:42:16 +0200
commitf1baeee9ffeddcc068d3536f90b5c3e9f81d9309 (patch)
treed018a9ca2db9e3a0277af5cb508819abf4435024 /contrib
parentlibvhost-user: Allow vu_message_read to be replaced (diff)
downloadqemu-f1baeee9ffeddcc068d3536f90b5c3e9f81d9309.tar.gz
qemu-f1baeee9ffeddcc068d3536f90b5c3e9f81d9309.tar.xz
qemu-f1baeee9ffeddcc068d3536f90b5c3e9f81d9309.zip
libvhost-user: remove watch for kick_fd when de-initialize vu-dev
When the client is running in gdb and quit command is run in gdb, QEMU will still dispatch the event which will cause segment fault in the callback function. Signed-off-by: Coiby Xu <coiby.xu@gmail.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-id: 20200918080912.321299-3-coiby.xu@gmail.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'contrib')
-rw-r--r--contrib/libvhost-user/libvhost-user.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/contrib/libvhost-user/libvhost-user.c b/contrib/libvhost-user/libvhost-user.c
index 09bdff18f3..bfec8a881a 100644
--- a/contrib/libvhost-user/libvhost-user.c
+++ b/contrib/libvhost-user/libvhost-user.c
@@ -1918,6 +1918,7 @@ vu_deinit(VuDev *dev)
}
if (vq->kick_fd != -1) {
+ dev->remove_watch(dev, vq->kick_fd);
close(vq->kick_fd);
vq->kick_fd = -1;
}