qemu-e2k/net
Yunjian Wang 41d4e5ec9f vhost-user: fix watcher need be removed when vhost-user hotplug
"nc" is freed after hotplug vhost-user, but the watcher is not removed.
The QEMU crash when the watcher access the "nc" when socket disconnects.

    Program received signal SIGSEGV, Segmentation fault.
    #0  object_get_class (obj=obj@entry=0x2) at qom/object.c:750
    #1  0x00007f9bb4180da1 in qemu_chr_fe_disconnect (be=<optimized out>) at chardev/char-fe.c:372
    #2  0x00007f9bb40d1100 in net_vhost_user_watch (chan=<optimized out>, cond=<optimized out>, opaque=<optimized out>) at net/vhost-user.c:188
    #3  0x00007f9baf97f99a in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
    #4  0x00007f9bb41d7ebc in glib_pollfds_poll () at util/main-loop.c:213
    #5  os_host_main_loop_wait (timeout=<optimized out>) at util/main-loop.c:261
    #6  main_loop_wait (nonblocking=nonblocking@entry=0) at util/main-loop.c:515
    #7  0x00007f9bb3e266a7 in main_loop () at vl.c:1917
    #8  main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at vl.c:4786

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2017-08-02 00:13:26 +03:00
..
checksum.c net: optimize checksum computation 2017-01-20 10:36:38 +08:00
clients.h net: use Netdev instead of NetClientOptions in client init 2016-07-19 13:21:08 +02:00
colo-compare.c trace: add trace_event_get_state_backends() 2017-08-01 12:13:07 +01:00
colo.c net/colo.c: Add vnet packet parse feature in colo-proxy 2017-07-17 20:13:51 +08:00
colo.h net/colo.c: Make vnet_hdr_len as packet property 2017-07-17 20:13:48 +08:00
dump.c object: use more specific property type names 2017-06-20 14:31:32 +02: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 object: use more specific property type names 2017-06-20 14:31:32 +02:00
filter-mirror.c net/filter-mirror.c: Add new option to enable vnet support for filter-redirector 2017-07-17 20:13:47 +08:00
filter-replay.c record/replay: add network support 2017-01-06 10:38:00 +08:00
filter-rewriter.c trace: add trace_event_get_state_backends() 2017-08-01 12:13:07 +01:00
filter.c qtail: clean up direct access to tqe_prev field 2016-09-13 19:08:41 +02:00
hub.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
hub.h
l2tpv3.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
Makefile.objs net/tap: Replace tap-haiku.c and tap-aix.c by a generic tap-stub.c 2017-05-23 10:10:38 +08:00
net.c net/net.c: Add vnet_hdr support in SocketReadState 2017-07-17 20:02:11 +08:00
netmap.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
queue.c net: Clean up includes 2016-02-04 17:41:30 +00:00
slirp.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
socket.c net/net.c: Add vnet_hdr support in SocketReadState 2017-07-17 20:02:11 +08:00
tap_int.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02: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 Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
tap-solaris.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
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 -----BEGIN PGP SIGNATURE----- 2017-01-20 14:56:40 +00:00
trace-events trace-events: fix code style: print 0x before hex numbers 2017-08-01 12:13:07 +01:00
util.c net: Clean up includes 2016-02-04 17:41:30 +00:00
util.h all: Clean up includes 2016-02-23 12:43:05 +00:00
vde.c qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
vhost-user.c vhost-user: fix watcher need be removed when vhost-user hotplug 2017-08-02 00:13:26 +03:00