qemu-e2k/net
Dan Streetman 6ab79a20af do not call vhost_net_cleanup() on running net from char user event
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 <ddstreet@canonical.com>
Message-Id: <20190416184624.15397-3-dan.streetman@canonical.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-05-20 18:40:02 -04:00
..
can object: fix OBJ_PROP_LINK_UNREF_ON_RELEASE ambivalence 2018-06-12 12:07:30 +02:00
announce.c qmp: Add announce-self command 2019-03-05 11:27:41 +08:00
checksum.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
clients.h Drop superfluous includes of qapi-types.h and test-qapi-types.h 2018-02-09 05:05:11 +01:00
colo-compare.c net/colo-compare.c: Fix a crash in COLO Primary. 2019-05-17 17:00:12 +08:00
colo-compare.h colo-compare: use notifier to notify packets comparing result 2018-10-19 11:15:03 +08:00
colo.c net: do not depend on slirp internals 2019-01-14 00:44:29 +01:00
colo.h Clean up header guards that don't match their file name 2019-05-13 08:58:55 +02:00
dump.c net: Remove the deprecated way of dumping network packets 2018-03-05 10:30:15 +08:00
eth.c net/eth: fix incorrect check of iov_to_buf() return value 2017-07-31 13:06:38 +03:00
filter-buffer.c qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-02 13:45:57 -06:00
filter-mirror.c Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
filter-replay.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
filter-rewriter.c net: do not depend on slirp internals 2019-01-14 00:44:29 +01:00
filter.c qemu/queue.h: simplify reverse access to QTAILQ 2019-01-11 15:46:55 +01:00
hub.c net: hub: suppress warnings of no host network for qtest 2018-12-04 11:06:15 +00:00
hub.h net: Allow hubports to connect to other netdevs 2018-01-29 16:05:37 +08:00
l2tpv3.c l2tpv3: Improve -netdev/netdev_add/-net/... error reporting 2018-10-19 14:51:34 +02:00
Makefile.objs build-sys: link with slirp as an external project 2019-03-07 12:46:31 +01:00
net.c net: Print output of "-net nic, model=help" to stdout instead of stderr 2019-05-03 13:03:04 +02:00
netmap.c net: netmap: improve netmap_receive_iov() 2019-03-05 11:27:40 +08:00
queue.c qemu/queue.h: leave head structs anonymous unless necessary 2019-01-11 15:46:55 +01:00
slirp.c net/slirp: fix the IPv6 prefix length error message 2019-05-17 17:00:12 +08:00
socket.c net/socket: learn to talk with a unix dgram socket 2019-03-29 15:22:18 +08:00
tap_int.h Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
tap-bsd.c tap-bsd: OpenBSD uses tap(4) now 2016-10-26 09:57:59 +08:00
tap-linux.c Convert error_report() to warn_report() 2017-07-13 13:49:58 +02:00
tap-linux.h
tap-solaris.c
tap-stub.c net/tap: Replace tap-haiku.c and tap-aix.c by a generic tap-stub.c 2017-05-23 10:10:38 +08:00
tap-win32.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
tap.c net: tap: use qemu_set_nonblock 2019-03-29 15:22:18 +08:00
trace-events trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
util.c
util.h net: do not depend on slirp internals 2019-01-14 00:44:29 +01:00
vde.c net/vde: print error on vde_open() failure 2018-03-26 14:52:43 +08:00
vhost-user-stub.c vhost-net-user: add stubs for when no virtio-net device is present 2019-02-21 12:28:01 -05:00
vhost-user.c do not call vhost_net_cleanup() on running net from char user event 2019-05-20 18:40:02 -04:00