qemu-e2k/net
Jason Wang 705df5466c net: introduce qemu_receive_packet()
Some NIC supports loopback mode and this is done by calling
nc->info->receive() directly which in fact suppresses the effort of
reentrancy check that is done in qemu_net_queue_send().

Unfortunately we can't use qemu_net_queue_send() here since for
loopback there's no sender as peer, so this patch introduce a
qemu_receive_packet() which is used for implementing loopback mode
for a NIC with this check.

NIC that supports loopback mode will be converted to this helper.

This is intended to address CVE-2021-3416.

Cc: Prasad J Pandit <ppandit@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Jason Wang <jasowang@redhat.com>
2021-03-15 16:41:22 +08:00
..
can can_host: Use class properties 2020-12-15 10:02:07 -05:00
announce.c Remove superfluous timer_del() calls 2021-01-08 15:13:38 +00:00
checksum.c net: checksum: Introduce fine control over checksum type 2021-01-25 17:04:56 +08:00
clients.h vhost-vdpa: introduce vhost-vdpa net client 2020-07-07 07:59:51 -04:00
colo-compare.c Remove superfluous timer_del() calls 2021-01-08 15:13:38 +00:00
colo-compare.h colo-compare: use notifier to notify packets comparing result 2018-10-19 11:15:03 +08:00
colo.c colo-compare: fix missing compare_seq initialization 2020-11-11 16:52:23 +08:00
colo.h net/colo-compare.c: Fix deadlock in compare_chr_send 2020-06-18 21:05:52 +08:00
dump.c netfilter: Use class properties 2020-12-15 10:02:07 -05:00
eth.c net: remove an assert call in eth_get_gso_type 2020-11-11 16:52:23 +08:00
filter-buffer.c netfilter: Use class properties 2020-12-15 10:02:07 -05:00
filter-mirror.c netfilter: Use class properties 2020-12-15 10:02:07 -05:00
filter-replay.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
filter-rewriter.c net: checksum: Introduce fine control over checksum type 2021-01-25 17:04:56 +08:00
filter.c netfilter: Use class properties 2020-12-15 10:02:07 -05: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 net/l2tpv3: Remove redundant check in net_init_l2tpv3() 2020-11-11 16:53:01 +08:00
meson.build replay: do not build if TCG is not available 2020-10-22 11:53:54 -04:00
net.c net: introduce qemu_receive_packet() 2021-03-15 16:41:22 +08:00
netmap.c Include qemu/main-loop.h less 2019-08-16 13:31:52 +02:00
queue.c net: introduce qemu_receive_packet() 2021-03-15 16:41:22 +08:00
slirp.c net/slirp.c: Fix spelling error in error message 2021-01-29 09:31:40 +01:00
socket.c monitor: Use getter/setter functions for cur_mon 2020-10-09 07:08:19 +02: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: Use correct default-path macro for downscript 2020-11-24 10:40:17 +08:00
trace-events net/colo: Match is-enabled probe to tracepoint 2020-09-09 17:16:34 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04: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 vhost-user: save features of multiqueues if chardev is closed 2020-09-29 03:06:12 -04:00
vhost-vdpa.c vhost-vdpa: Add qemu_close in vhost_vdpa_cleanup 2020-11-03 16:39:05 -05:00