[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 30/36] do not call vhost_net_cleanup() on running ne
From: |
Michael Roth |
Subject: |
[Qemu-devel] [PATCH 30/36] do not call vhost_net_cleanup() on running net from char user event |
Date: |
Tue, 23 Jul 2019 12:00:58 -0500 |
From: Dan Streetman <address@hidden>
Buglink: https://launchpad.net/bugs/1823458
Currently, a user CHR_EVENT_CLOSED event will cause net_vhost_user_event()
to call vhost_user_cleanup(), which calls vhost_net_cleanup() for all
its queues. However, vhost_net_cleanup() must never be called like
this for fully-initialized nets; when other code later calls
vhost_net_stop() - such as from virtio_net_vhost_status() - it will try
to access the already-cleaned-up fields and fail with assertion errors
or segfaults.
The vhost_net_cleanup() will eventually be called from
qemu_cleanup_net_client().
Signed-off-by: Dan Streetman <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
(cherry picked from commit 6ab79a20af3a7b3bf610ba9aebb446a9f0b05930)
Signed-off-by: Michael Roth <address@hidden>
---
net/vhost-user.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/net/vhost-user.c b/net/vhost-user.c
index a39f9c9974..afb5697acf 100644
--- a/net/vhost-user.c
+++ b/net/vhost-user.c
@@ -223,7 +223,6 @@ static void chr_closed_bh(void *opaque)
s = DO_UPCAST(NetVhostUserState, nc, ncs[0]);
qmp_set_link(name, false, &err);
- vhost_user_stop(queues, ncs);
qemu_chr_fe_set_handlers(&s->chr, NULL, NULL, net_vhost_user_event,
NULL, opaque, NULL, true);
--
2.17.1
- [Qemu-devel] [PATCH 20/36] qga-win: include glib when building VSS DLL, (continued)
- [Qemu-devel] [PATCH 20/36] qga-win: include glib when building VSS DLL, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 19/36] json: Fix % handling when not interpolating, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 21/36] configure: improve usbfs check, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 27/36] qcow2: Avoid COW during metadata preallocation, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 25/36] usb-mtp: use O_NOFOLLOW and O_CLOEXEC., Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 28/36] cutils: Fix size_to_str() on 32-bit platforms, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 29/36] block: Fix AioContext switch for bs->drv == NULL, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 24/36] qga: update docs with systemd suspend support info, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 14/36] slirp: check sscanf result when emulating ident, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 26/36] qemu-img: fix error reporting for -object, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 30/36] do not call vhost_net_cleanup() on running net from char user event,
Michael Roth <=
- [Qemu-devel] [PATCH 01/36] i2c: Move typedef of bitbang_i2c_interface to i2c.h, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 22/36] mac_oldworld: use node name instead of alias name for hd device in FWPathProvider, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 23/36] mac_newworld: use node name instead of alias name for hd device in FWPathProvider, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 06/36] hw/s390x: Fix bad mask in time2tod(), Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 31/36] s390x/cpumodel: ignore csske for expansion, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 35/36] iotests: Test unaligned raw images with O_DIRECT, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 34/36] block/file-posix: Unaligned O_DIRECT block-status, Michael Roth, 2019/07/23
- [Qemu-devel] [PATCH 33/36] iotests: Filter second BLOCK_JOB_ERROR from 229, Michael Roth, 2019/07/23