qemu-e2k/net
Jason Wang 22dc8663d9 net: forbid the reentrant RX
The memory API allows DMA into NIC's MMIO area. This means the NIC's
RX routine must be reentrant. Instead of auditing all the NIC, we can
simply detect the reentrancy and return early. The queue->delivering
is set and cleared by qemu_net_queue_deliver() for other queue helpers
to know whether the delivering in on going (NIC's receive is being
called). We can check it and return early in qemu_net_queue_flush() to
forbid reentrant RX.

Signed-off-by: Jason Wang <jasowang@redhat.com>
2020-07-28 16:57:58 +08:00
..
can qom: Drop parameter @errp of object_property_add() & friends 2020-05-15 07:07:58 +02:00
announce.c net/announce: Add optional ID 2019-07-02 10:21:06 +08:00
checksum.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
clients.h vhost-vdpa: introduce vhost-vdpa net client 2020-07-07 07:59:51 -04:00
colo-compare.c net/colo-compare.c: Expose compare "max_queue_size" to users 2020-07-15 21:00:13 +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/colo-compare.c: Fix deadlock in compare_chr_send 2020-06-18 21:05:52 +08:00
colo.h net/colo-compare.c: Fix deadlock in compare_chr_send 2020-06-18 21:05:52 +08:00
dump.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
eth.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
filter-buffer.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
filter-mirror.c qom: Drop parameter @errp of object_property_add() & friends 2020-05-15 07:07:58 +02:00
filter-replay.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
filter-rewriter.c qom: Drop parameter @errp of object_property_add() & friends 2020-05-15 07:07:58 +02:00
filter.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
hub.c hw/net: Make NetCanReceive() return a boolean 2020-03-31 21:14:35 +08:00
hub.h net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove' 2020-03-09 18:44:04 +00:00
l2tpv3.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
Makefile.objs vhost-vdpa: introduce vhost-vdpa net client 2020-07-07 07:59:51 -04:00
net.c qom: Change object_get_canonical_path_component() not to malloc 2020-07-21 16:23:43 +02:00
netmap.c Include qemu/main-loop.h less 2019-08-16 13:31:52 +02:00
queue.c net: forbid the reentrant RX 2020-07-28 16:57:58 +08:00
slirp.c net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove' 2020-03-09 18:44:04 +00:00
socket.c net: check if the file descriptor is valid before using it 2020-07-15 21:00:13 +08:00
tap_int.h net: detect errors from probing vnet hdr flag for TAP devices 2020-07-15 21:00:13 +08:00
tap-bsd.c net: detect errors from probing vnet hdr flag for TAP devices 2020-07-15 21:00:13 +08:00
tap-linux.c net: detect errors from probing vnet hdr flag for TAP devices 2020-07-15 21:00:13 +08:00
tap-linux.h
tap-solaris.c net: detect errors from probing vnet hdr flag for TAP devices 2020-07-15 21:00:13 +08:00
tap-stub.c net: detect errors from probing vnet hdr flag for TAP devices 2020-07-15 21:00:13 +08:00
tap-win32.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
tap.c net: detect errors from probing vnet hdr flag for TAP devices 2020-07-15 21:00:13 +08:00
trace-events colo-compare: Fix memory leak in packet_enqueue() 2020-06-18 21:05:52 +08: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 chardev: Use QEMUChrEvent enum in IOEventHandler typedef 2020-01-08 11:15:35 +01:00
vhost-vdpa.c vhost-vdpa: introduce vhost-vdpa net client 2020-07-07 07:59:51 -04:00