* [Qemu-devel] [PULL 0/5] Net patches
@ 2014-06-09 13:43 Stefan Hajnoczi
2014-06-09 14:26 ` Peter Maydell
0 siblings, 1 reply; 23+ messages in thread
From: Stefan Hajnoczi @ 2014-06-09 13:43 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi
The following changes since commit 959e41473f2179850578482052fb73b913bc4e42:
slirp/arp: do not special-case bogus IP addresses (2014-06-09 01:49:28 +0200)
are available in the git repository at:
git://github.com/stefanha/qemu.git tags/net-pull-request
for you to fetch changes up to 7efea763772c815ad6220d5ea7a46447329f6015:
e1000: remove broken support for 82573L (2014-06-09 15:38:58 +0200)
----------------------------------------------------------------
Net patches
----------------------------------------------------------------
Gabriel L. Somlo (3):
e1000: allow command-line selection of card model
tests: e1000: test additional device IDs
e1000: remove broken support for 82573L
Jiri Pirko (1):
vmxnet3: fix msix vectors unuse
Peter Crosthwaite (1):
net: xilinx_ethlite: Fix Rx-pong interrupt
hw/net/e1000.c | 110 ++++++++++++++++++++++++++++++++++++------------
hw/net/e1000_regs.h | 6 +++
hw/net/vmxnet3.c | 2 +-
hw/net/xilinx_ethlite.c | 3 +-
tests/e1000-test.c | 33 ++++++++++++---
5 files changed, 117 insertions(+), 37 deletions(-)
--
1.9.3
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/5] Net patches
2014-06-09 13:43 Stefan Hajnoczi
@ 2014-06-09 14:26 ` Peter Maydell
0 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2014-06-09 14:26 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: QEMU Developers
On 9 June 2014 14:43, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 959e41473f2179850578482052fb73b913bc4e42:
>
> slirp/arp: do not special-case bogus IP addresses (2014-06-09 01:49:28 +0200)
>
> are available in the git repository at:
>
> git://github.com/stefanha/qemu.git tags/net-pull-request
>
> for you to fetch changes up to 7efea763772c815ad6220d5ea7a46447329f6015:
>
> e1000: remove broken support for 82573L (2014-06-09 15:38:58 +0200)
>
> ----------------------------------------------------------------
> Net patches
>
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/5] Net patches
@ 2014-12-19 13:18 Stefan Hajnoczi
2014-12-21 23:16 ` Peter Maydell
0 siblings, 1 reply; 23+ messages in thread
From: Stefan Hajnoczi @ 2014-12-19 13:18 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi
The following changes since commit 86b182ac0e0b44726d85598cbefb468ed22517fc:
Merge remote-tracking branch 'remotes/xtensa/tags/20141217-xtensa' into staging (2014-12-17 17:31:26 +0000)
are available in the git repository at:
git://github.com/stefanha/qemu.git tags/net-pull-request
for you to fetch changes up to 20302e71a5b654d7b4d0d61c7384e9dd8d112971:
e1000: defer packets until BM enabled (2014-12-19 13:17:06 +0000)
----------------------------------------------------------------
----------------------------------------------------------------
Jason Wang (1):
net: don't use set/get_pointer() in set/get_netdev()
Markus Armbruster (2):
net: Fuse g_malloc(); memset() into g_new0()
net: Use g_new() & friends where that makes obvious sense
Michael S. Tsirkin (1):
e1000: defer packets until BM enabled
Wangkai (Kevin,C) (1):
tap: fix vcpu long time io blocking on tap
hw/core/qdev-properties-system.c | 82 +++++++++++++++++++++-------------------
hw/net/e1000.c | 21 +++++++++-
net/l2tpv3.c | 9 ++---
net/queue.c | 2 +-
net/slirp.c | 2 +-
net/tap.c | 12 ++++++
6 files changed, 82 insertions(+), 46 deletions(-)
--
2.1.0
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/5] Net patches
2014-12-19 13:18 Stefan Hajnoczi
@ 2014-12-21 23:16 ` Peter Maydell
0 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2014-12-21 23:16 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: QEMU Developers
On 19 December 2014 at 13:18, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 86b182ac0e0b44726d85598cbefb468ed22517fc:
>
> Merge remote-tracking branch 'remotes/xtensa/tags/20141217-xtensa' into staging (2014-12-17 17:31:26 +0000)
>
> are available in the git repository at:
>
> git://github.com/stefanha/qemu.git tags/net-pull-request
>
> for you to fetch changes up to 20302e71a5b654d7b4d0d61c7384e9dd8d112971:
>
> e1000: defer packets until BM enabled (2014-12-19 13:17:06 +0000)
>
> ----------------------------------------------------------------
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/5] Net patches
@ 2015-06-24 15:37 Stefan Hajnoczi
2015-06-25 14:23 ` Peter Maydell
0 siblings, 1 reply; 23+ messages in thread
From: Stefan Hajnoczi @ 2015-06-24 15:37 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi
The following changes since commit a3206972a9eab65ec8e8f9ae320ad628ba4b58f1:
Merge remote-tracking branch 'remotes/armbru/tags/pull-monitor-2015-06-22' into staging (2015-06-23 10:38:00 +0100)
are available in the git repository at:
git://github.com/stefanha/qemu.git tags/net-pull-request
for you to fetch changes up to 1e81aba5ac0b908ab859bf8ddf43ece33732d49c:
net: simplify net_client_init1() (2015-06-24 16:33:42 +0100)
----------------------------------------------------------------
----------------------------------------------------------------
Stefan Hajnoczi (5):
net: add missing "netmap" to host_net_devices[]
net: replace net_client_init1() netdev whitelist with blacklist
net: raise an error if -net type is invalid
net: drop if expression that is always true
net: simplify net_client_init1()
net/net.c | 91 ++++++++++++++++++++++++++-------------------------------------
1 file changed, 37 insertions(+), 54 deletions(-)
--
2.4.3
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/5] Net patches
2015-06-24 15:37 Stefan Hajnoczi
@ 2015-06-25 14:23 ` Peter Maydell
0 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2015-06-25 14:23 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: QEMU Developers
On 24 June 2015 at 16:37, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit a3206972a9eab65ec8e8f9ae320ad628ba4b58f1:
>
> Merge remote-tracking branch 'remotes/armbru/tags/pull-monitor-2015-06-22' into staging (2015-06-23 10:38:00 +0100)
>
> are available in the git repository at:
>
> git://github.com/stefanha/qemu.git tags/net-pull-request
>
> for you to fetch changes up to 1e81aba5ac0b908ab859bf8ddf43ece33732d49c:
>
> net: simplify net_client_init1() (2015-06-24 16:33:42 +0100)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
>
> Stefan Hajnoczi (5):
> net: add missing "netmap" to host_net_devices[]
> net: replace net_client_init1() netdev whitelist with blacklist
> net: raise an error if -net type is invalid
> net: drop if expression that is always true
> net: simplify net_client_init1()
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/5] Net patches
@ 2016-04-06 2:37 Jason Wang
2016-04-07 9:37 ` Peter Maydell
0 siblings, 1 reply; 23+ messages in thread
From: Jason Wang @ 2016-04-06 2:37 UTC (permalink / raw)
To: qemu-devel, peter.maydell; +Cc: Jason Wang
The following changes since commit 7acbff99c6c285b3070bf0e768d56f511e2bf346:
Update version for v2.6.0-rc1 release (2016-04-05 21:53:18 +0100)
are available in the git repository at:
https://github.com/jasowang/qemu.git tags/net-pull-request
for you to fetch changes up to e0a039e50d481dce6b4ee45a29002538a258cd89:
filter-buffer: fix segfault when starting qemu with status=off property (2016-04-06 09:52:07 +0800)
----------------------------------------------------------------
- fix segfault when start filter with status=off
- fix large array to heap for nc_sendv_compat()
- fix OptsVisitor memory leak during net client init
----------------------------------------------------------------
Isaac Lozano (1):
util: Improved qemu_hexmap() to include an ascii dump of the buffer
Jason Wang (1):
rtl8139: using CP_TX_OWN for ownership transferring during tx
Paolo Bonzini (1):
net: fix OptsVisitor memory leak
Pooja Dhannawat (1):
net: Allocating Large sized arrays to heap
zhanghailiang (1):
filter-buffer: fix segfault when starting qemu with status=off property
hw/net/rtl8139.c | 2 +-
net/filter.c | 2 +-
net/net.c | 44 +++++++++++---------------------------------
util/hexdump.c | 33 ++++++++++++++++++++++-----------
4 files changed, 35 insertions(+), 46 deletions(-)
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/5] Net patches
2016-04-06 2:37 Jason Wang
@ 2016-04-07 9:37 ` Peter Maydell
0 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2016-04-07 9:37 UTC (permalink / raw)
To: Jason Wang; +Cc: QEMU Developers
On 6 April 2016 at 03:37, Jason Wang <jasowang@redhat.com> wrote:
> The following changes since commit 7acbff99c6c285b3070bf0e768d56f511e2bf346:
>
> Update version for v2.6.0-rc1 release (2016-04-05 21:53:18 +0100)
>
> are available in the git repository at:
>
> https://github.com/jasowang/qemu.git tags/net-pull-request
>
> for you to fetch changes up to e0a039e50d481dce6b4ee45a29002538a258cd89:
>
> filter-buffer: fix segfault when starting qemu with status=off property (2016-04-06 09:52:07 +0800)
>
> ----------------------------------------------------------------
> - fix segfault when start filter with status=off
> - fix large array to heap for nc_sendv_compat()
> - fix OptsVisitor memory leak during net client init
>
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/5] Net patches
@ 2016-06-28 3:35 Jason Wang
2016-06-28 10:07 ` Peter Maydell
0 siblings, 1 reply; 23+ messages in thread
From: Jason Wang @ 2016-06-28 3:35 UTC (permalink / raw)
To: peter.maydell, qemu-devel; +Cc: Jason Wang
The following changes since commit 14e60aaece20a1cfc059a69f6491b0899f9257a8:
hw/net/e1000: Don't use *_to_cpup() (2016-06-27 16:39:56 +0100)
are available in the git repository at:
https://github.com/jasowang/qemu.git tags/net-pull-request
for you to fetch changes up to c508277335e3b6b20cf18e6ea3a35c1fa835c64a:
vmxnet3: Fix reading/writing guest memory specially when behind an IOMMU (2016-06-28 10:13:57 +0800)
----------------------------------------------------------------
----------------------------------------------------------------
Ashijeet Acharya (1):
Change net/socket.c to use socket_*() functions
David Vrabel (1):
rtl8139: save/load RxMulOk counter (again)
KarimAllah Ahmed (1):
vmxnet3: Fix reading/writing guest memory specially when behind an IOMMU
Peter Lieven (1):
net: fix qemu_announce_self not emitting packets
Prasad J Pandit (1):
net: mipsnet: check transmit buffer size before sending
hw/net/mipsnet.c | 8 +-
hw/net/rtl8139.c | 40 ++++------
hw/net/vmware_utils.h | 55 ++++++++------
hw/net/vmxnet3.c | 197 +++++++++++++++++++++++++++----------------------
include/qemu/sockets.h | 16 +++-
net/net.c | 2 +-
net/socket.c | 55 +++++++-------
util/qemu-sockets.c | 36 +++++++++
8 files changed, 237 insertions(+), 172 deletions(-)
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/5] Net patches
2016-06-28 3:35 Jason Wang
@ 2016-06-28 10:07 ` Peter Maydell
0 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2016-06-28 10:07 UTC (permalink / raw)
To: Jason Wang; +Cc: QEMU Developers
On 28 June 2016 at 04:35, Jason Wang <jasowang@redhat.com> wrote:
> The following changes since commit 14e60aaece20a1cfc059a69f6491b0899f9257a8:
>
> hw/net/e1000: Don't use *_to_cpup() (2016-06-27 16:39:56 +0100)
>
> are available in the git repository at:
>
> https://github.com/jasowang/qemu.git tags/net-pull-request
>
> for you to fetch changes up to c508277335e3b6b20cf18e6ea3a35c1fa835c64a:
>
> vmxnet3: Fix reading/writing guest memory specially when behind an IOMMU (2016-06-28 10:13:57 +0800)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/5] Net patches
@ 2017-02-15 3:53 Jason Wang
2017-02-15 3:53 ` [Qemu-devel] [PULL 1/5] net: Mark 'vlan' parameter as deprecated Jason Wang
` (5 more replies)
0 siblings, 6 replies; 23+ messages in thread
From: Jason Wang @ 2017-02-15 3:53 UTC (permalink / raw)
To: peter.maydell; +Cc: qemu-devel, Jason Wang
The following changes since commit 5dae13cd71f0755a1395b5a4cde635b8a6ee3f58:
Merge remote-tracking branch 'remotes/rth/tags/pull-or-20170214' into staging (2017-02-14 09:55:48 +0000)
are available in the git repository at:
https://github.com/jasowang/qemu.git tags/net-pull-request
for you to fetch changes up to 4154c7e03fa55b4cf52509a83d50d6c09d743b77:
net: e1000e: fix an infinite loop issue (2017-02-15 11:18:57 +0800)
----------------------------------------------------------------
----------------------------------------------------------------
Li Qiang (1):
net: e1000e: fix an infinite loop issue
Paolo Bonzini (1):
net: e1000e: fix dead code in e1000e_write_packet_to_guest
Prasad J Pandit (1):
net: imx: limit buffer descriptor count
Thomas Huth (1):
net: Mark 'vlan' parameter as deprecated
Zhang Chen (1):
colo-compare: sort TCP packet queue by sequence number
hw/net/e1000e_core.c | 9 +++++++--
hw/net/imx_fec.c | 10 ++++++----
net/colo-compare.c | 19 +++++++++++++++++++
net/net.c | 6 ++++++
4 files changed, 38 insertions(+), 6 deletions(-)
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 1/5] net: Mark 'vlan' parameter as deprecated
2017-02-15 3:53 [Qemu-devel] [PULL 0/5] Net patches Jason Wang
@ 2017-02-15 3:53 ` Jason Wang
2017-02-15 3:53 ` [Qemu-devel] [PULL 2/5] net: e1000e: fix dead code in e1000e_write_packet_to_guest Jason Wang
` (4 subsequent siblings)
5 siblings, 0 replies; 23+ messages in thread
From: Jason Wang @ 2017-02-15 3:53 UTC (permalink / raw)
To: peter.maydell; +Cc: qemu-devel, Thomas Huth, Jason Wang
From: Thomas Huth <thuth@redhat.com>
The 'vlan' parameter is a continuous source of confusion for the users,
many people mix it up with the more common term VLAN (the link layer
packet encapsulation), and even if they realize that the QEMU 'vlan' is
rather some kind of network hub emulation, there is still a high risk
that they configure their QEMU networking in a wrong way with this
parameter (e.g. by hooking NICs together, so they get a 'loopback'
between one and the other NIC).
Thus at one point in time, we should finally get rid of the 'vlan'
feature in QEMU. Let's do a first step in this direction by declaring
the 'vlan' parameter as deprecated and informing the users to use the
'netdev' parameter instead.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
net/net.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/net/net.c b/net/net.c
index 939fe31..fb7af3a 100644
--- a/net/net.c
+++ b/net/net.c
@@ -970,6 +970,7 @@ static int net_client_init1(const void *object, bool is_netdev, Error **errp)
const Netdev *netdev;
const char *name;
NetClientState *peer = NULL;
+ static bool vlan_warned;
if (is_netdev) {
netdev = object;
@@ -1050,6 +1051,11 @@ static int net_client_init1(const void *object, bool is_netdev, Error **errp)
!opts->u.nic.data->has_netdev) {
peer = net_hub_add_port(net->has_vlan ? net->vlan : 0, NULL);
}
+
+ if (net->has_vlan && !vlan_warned) {
+ error_report("'vlan' is deprecated. Please use 'netdev' instead.");
+ vlan_warned = true;
+ }
}
if (net_client_init_fun[netdev->type](netdev, name, peer, errp) < 0) {
--
2.7.4
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 2/5] net: e1000e: fix dead code in e1000e_write_packet_to_guest
2017-02-15 3:53 [Qemu-devel] [PULL 0/5] Net patches Jason Wang
2017-02-15 3:53 ` [Qemu-devel] [PULL 1/5] net: Mark 'vlan' parameter as deprecated Jason Wang
@ 2017-02-15 3:53 ` Jason Wang
2017-02-15 3:53 ` [Qemu-devel] [PULL 3/5] colo-compare: sort TCP packet queue by sequence number Jason Wang
` (3 subsequent siblings)
5 siblings, 0 replies; 23+ messages in thread
From: Jason Wang @ 2017-02-15 3:53 UTC (permalink / raw)
To: peter.maydell; +Cc: qemu-devel, Paolo Bonzini, Jason Wang
From: Paolo Bonzini <pbonzini@redhat.com>
Because is_first is declared inside a loop, it is always true. The store
is dead, and so is the "else" branch of "if (is_first)". is_last is
okay though.
Reported by Coverity.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
hw/net/e1000e_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c
index 2b11499..c99e2fb 100644
--- a/hw/net/e1000e_core.c
+++ b/hw/net/e1000e_core.c
@@ -1507,6 +1507,7 @@ e1000e_write_packet_to_guest(E1000ECore *core, struct NetRxPkt *pkt,
const E1000E_RingInfo *rxi;
size_t ps_hdr_len = 0;
bool do_ps = e1000e_do_ps(core, pkt, &ps_hdr_len);
+ bool is_first = true;
rxi = rxr->i;
@@ -1514,7 +1515,6 @@ e1000e_write_packet_to_guest(E1000ECore *core, struct NetRxPkt *pkt,
hwaddr ba[MAX_PS_BUFFERS];
e1000e_ba_state bastate = { { 0 } };
bool is_last = false;
- bool is_first = true;
desc_size = total_size - desc_offset;
--
2.7.4
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 3/5] colo-compare: sort TCP packet queue by sequence number
2017-02-15 3:53 [Qemu-devel] [PULL 0/5] Net patches Jason Wang
2017-02-15 3:53 ` [Qemu-devel] [PULL 1/5] net: Mark 'vlan' parameter as deprecated Jason Wang
2017-02-15 3:53 ` [Qemu-devel] [PULL 2/5] net: e1000e: fix dead code in e1000e_write_packet_to_guest Jason Wang
@ 2017-02-15 3:53 ` Jason Wang
2017-02-15 3:53 ` [Qemu-devel] [PULL 4/5] net: imx: limit buffer descriptor count Jason Wang
` (2 subsequent siblings)
5 siblings, 0 replies; 23+ messages in thread
From: Jason Wang @ 2017-02-15 3:53 UTC (permalink / raw)
To: peter.maydell; +Cc: qemu-devel, Zhang Chen, Li Zhijian, Jason Wang
From: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Improve efficiency of TCP packet comparison.
Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
net/colo-compare.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/net/colo-compare.c b/net/colo-compare.c
index 4962976..162fd6a 100644
--- a/net/colo-compare.c
+++ b/net/colo-compare.c
@@ -101,6 +101,15 @@ static int compare_chr_send(CharBackend *out,
const uint8_t *buf,
uint32_t size);
+static gint seq_sorter(Packet *a, Packet *b, gpointer data)
+{
+ struct tcphdr *atcp, *btcp;
+
+ atcp = (struct tcphdr *)(a->transport_header);
+ btcp = (struct tcphdr *)(b->transport_header);
+ return ntohl(atcp->th_seq) - ntohl(btcp->th_seq);
+}
+
/*
* Return 0 on success, if return -1 means the pkt
* is unsupported(arp and ipv6) and will be sent later
@@ -137,6 +146,11 @@ static int packet_enqueue(CompareState *s, int mode)
if (g_queue_get_length(&conn->primary_list) <=
MAX_QUEUE_SIZE) {
g_queue_push_tail(&conn->primary_list, pkt);
+ if (conn->ip_proto == IPPROTO_TCP) {
+ g_queue_sort(&conn->primary_list,
+ (GCompareDataFunc)seq_sorter,
+ NULL);
+ }
} else {
error_report("colo compare primary queue size too big,"
"drop packet");
@@ -145,6 +159,11 @@ static int packet_enqueue(CompareState *s, int mode)
if (g_queue_get_length(&conn->secondary_list) <=
MAX_QUEUE_SIZE) {
g_queue_push_tail(&conn->secondary_list, pkt);
+ if (conn->ip_proto == IPPROTO_TCP) {
+ g_queue_sort(&conn->secondary_list,
+ (GCompareDataFunc)seq_sorter,
+ NULL);
+ }
} else {
error_report("colo compare secondary queue size too big,"
"drop packet");
--
2.7.4
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 4/5] net: imx: limit buffer descriptor count
2017-02-15 3:53 [Qemu-devel] [PULL 0/5] Net patches Jason Wang
` (2 preceding siblings ...)
2017-02-15 3:53 ` [Qemu-devel] [PULL 3/5] colo-compare: sort TCP packet queue by sequence number Jason Wang
@ 2017-02-15 3:53 ` Jason Wang
2017-02-15 3:53 ` [Qemu-devel] [PULL 5/5] net: e1000e: fix an infinite loop issue Jason Wang
2017-02-16 14:23 ` [Qemu-devel] [PULL 0/5] Net patches Peter Maydell
5 siblings, 0 replies; 23+ messages in thread
From: Jason Wang @ 2017-02-15 3:53 UTC (permalink / raw)
To: peter.maydell; +Cc: qemu-devel, Prasad J Pandit, Jason Wang
From: Prasad J Pandit <pjp@fedoraproject.org>
i.MX Fast Ethernet Controller uses buffer descriptors to manage
data flow to/fro receive & transmit queues. While transmitting
packets, it could continue to read buffer descriptors if a buffer
descriptor has length of zero and has crafted values in bd.flags.
Set an upper limit to number of buffer descriptors.
Reported-by: Li Qiang <liqiang6-s@360.cn>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
hw/net/imx_fec.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/hw/net/imx_fec.c b/hw/net/imx_fec.c
index 50c7564..90e6ee3 100644
--- a/hw/net/imx_fec.c
+++ b/hw/net/imx_fec.c
@@ -55,6 +55,8 @@
} \
} while (0)
+#define IMX_MAX_DESC 1024
+
static const char *imx_default_reg_name(IMXFECState *s, uint32_t index)
{
static char tmp[20];
@@ -402,12 +404,12 @@ static void imx_eth_update(IMXFECState *s)
static void imx_fec_do_tx(IMXFECState *s)
{
- int frame_size = 0;
+ int frame_size = 0, descnt = 0;
uint8_t frame[ENET_MAX_FRAME_SIZE];
uint8_t *ptr = frame;
uint32_t addr = s->tx_descriptor;
- while (1) {
+ while (descnt++ < IMX_MAX_DESC) {
IMXFECBufDesc bd;
int len;
@@ -453,12 +455,12 @@ static void imx_fec_do_tx(IMXFECState *s)
static void imx_enet_do_tx(IMXFECState *s)
{
- int frame_size = 0;
+ int frame_size = 0, descnt = 0;
uint8_t frame[ENET_MAX_FRAME_SIZE];
uint8_t *ptr = frame;
uint32_t addr = s->tx_descriptor;
- while (1) {
+ while (descnt++ < IMX_MAX_DESC) {
IMXENETBufDesc bd;
int len;
--
2.7.4
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 5/5] net: e1000e: fix an infinite loop issue
2017-02-15 3:53 [Qemu-devel] [PULL 0/5] Net patches Jason Wang
` (3 preceding siblings ...)
2017-02-15 3:53 ` [Qemu-devel] [PULL 4/5] net: imx: limit buffer descriptor count Jason Wang
@ 2017-02-15 3:53 ` Jason Wang
2017-02-16 14:23 ` [Qemu-devel] [PULL 0/5] Net patches Peter Maydell
5 siblings, 0 replies; 23+ messages in thread
From: Jason Wang @ 2017-02-15 3:53 UTC (permalink / raw)
To: peter.maydell; +Cc: qemu-devel, Li Qiang, Li Qiang, Jason Wang
From: Li Qiang <liq3ea@gmail.com>
This issue is like the issue in e1000 network card addressed in
this commit:
e1000: eliminate infinite loops on out-of-bounds transfer start.
Signed-off-by: Li Qiang <liqiang6-s@360.cn>
Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
hw/net/e1000e_core.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c
index c99e2fb..28c5be1 100644
--- a/hw/net/e1000e_core.c
+++ b/hw/net/e1000e_core.c
@@ -806,7 +806,8 @@ typedef struct E1000E_RingInfo_st {
static inline bool
e1000e_ring_empty(E1000ECore *core, const E1000E_RingInfo *r)
{
- return core->mac[r->dh] == core->mac[r->dt];
+ return core->mac[r->dh] == core->mac[r->dt] ||
+ core->mac[r->dt] >= core->mac[r->dlen] / E1000_RING_DESC_LEN;
}
static inline uint64_t
@@ -1522,6 +1523,10 @@ e1000e_write_packet_to_guest(E1000ECore *core, struct NetRxPkt *pkt,
desc_size = core->rx_desc_buf_size;
}
+ if (e1000e_ring_empty(core, rxi)) {
+ return;
+ }
+
base = e1000e_ring_head_descr(core, rxi);
pci_dma_read(d, base, &desc, core->rx_desc_len);
--
2.7.4
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/5] Net patches
2017-02-15 3:53 [Qemu-devel] [PULL 0/5] Net patches Jason Wang
` (4 preceding siblings ...)
2017-02-15 3:53 ` [Qemu-devel] [PULL 5/5] net: e1000e: fix an infinite loop issue Jason Wang
@ 2017-02-16 14:23 ` Peter Maydell
5 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2017-02-16 14:23 UTC (permalink / raw)
To: Jason Wang; +Cc: QEMU Developers
On 15 February 2017 at 03:53, Jason Wang <jasowang@redhat.com> wrote:
> The following changes since commit 5dae13cd71f0755a1395b5a4cde635b8a6ee3f58:
>
> Merge remote-tracking branch 'remotes/rth/tags/pull-or-20170214' into staging (2017-02-14 09:55:48 +0000)
>
> are available in the git repository at:
>
> https://github.com/jasowang/qemu.git tags/net-pull-request
>
> for you to fetch changes up to 4154c7e03fa55b4cf52509a83d50d6c09d743b77:
>
> net: e1000e: fix an infinite loop issue (2017-02-15 11:18:57 +0800)
>
> ----------------------------------------------------------------
>
> ---------------------------------------------------------------
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/5] Net patches
@ 2017-08-14 3:33 Jason Wang
2017-08-14 6:51 ` Peter Maydell
0 siblings, 1 reply; 23+ messages in thread
From: Jason Wang @ 2017-08-14 3:33 UTC (permalink / raw)
To: qemu-devel, peter.maydell; +Cc: Jason Wang
The following changes since commit 9db6ffc76676731a25a5538ab71e8ca6ac234f80:
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2017-08-11 15:11:50 +0100)
are available in the git repository at:
https://github.com/jasowang/qemu.git tags/net-pull-request
for you to fetch changes up to 131f6055f1f0eba4cd2e862a8ff907dbde4d94d1:
qemu-doc: Mention host_net_add/-remove in the deprecation chapter (2017-08-14 10:56:47 +0800)
----------------------------------------------------------------
----------------------------------------------------------------
Mao Zhongyi (4):
net/rocker: Remove the dead error handling
net/rocker: Plug memory leak in pci_rocker_init()
net/rocker: Convert to realize()
net/rocker: Fix the unusual macro name
Thomas Huth (1):
qemu-doc: Mention host_net_add/-remove in the deprecation chapter
hw/net/rocker/rocker.c | 94 +++++++++++--------------------------------
hw/net/rocker/rocker_desc.c | 10 -----
hw/net/rocker/rocker_fp.c | 4 --
hw/net/rocker/rocker_of_dpa.c | 20 ---------
hw/net/rocker/rocker_world.c | 12 +++---
qemu-doc.texi | 8 ++++
6 files changed, 36 insertions(+), 112 deletions(-)
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/5] Net patches
2017-08-14 3:33 Jason Wang
@ 2017-08-14 6:51 ` Peter Maydell
2017-08-14 8:07 ` Jason Wang
0 siblings, 1 reply; 23+ messages in thread
From: Peter Maydell @ 2017-08-14 6:51 UTC (permalink / raw)
To: Jason Wang; +Cc: QEMU Developers
On 14 August 2017 at 04:33, Jason Wang <jasowang@redhat.com> wrote:
> The following changes since commit 9db6ffc76676731a25a5538ab71e8ca6ac234f80:
>
> Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2017-08-11 15:11:50 +0100)
>
> are available in the git repository at:
>
> https://github.com/jasowang/qemu.git tags/net-pull-request
>
> for you to fetch changes up to 131f6055f1f0eba4cd2e862a8ff907dbde4d94d1:
>
> qemu-doc: Mention host_net_add/-remove in the deprecation chapter (2017-08-14 10:56:47 +0800)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
> Mao Zhongyi (4):
> net/rocker: Remove the dead error handling
> net/rocker: Plug memory leak in pci_rocker_init()
> net/rocker: Convert to realize()
> net/rocker: Fix the unusual macro name
>
> Thomas Huth (1):
> qemu-doc: Mention host_net_add/-remove in the deprecation chapter
It's not clear to me why these should all be going into 2.10,
especially since the date for rc3 is tomorrow and that in theory
is our final rc. At this point we should only be taking patches
that are fixes for significant bugs or bugs that are regressions
since 2.9. (Docs changes are OK too.) Is there a good reason
for putting in all these rocker patches that you haven't
mentioned in the cover letter? They look like 2.11 material
just judging by the patch titles.
thanks
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/5] Net patches
2017-08-14 6:51 ` Peter Maydell
@ 2017-08-14 8:07 ` Jason Wang
0 siblings, 0 replies; 23+ messages in thread
From: Jason Wang @ 2017-08-14 8:07 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers
On 2017年08月14日 14:51, Peter Maydell wrote:
> On 14 August 2017 at 04:33, Jason Wang <jasowang@redhat.com> wrote:
>> The following changes since commit 9db6ffc76676731a25a5538ab71e8ca6ac234f80:
>>
>> Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2017-08-11 15:11:50 +0100)
>>
>> are available in the git repository at:
>>
>> https://github.com/jasowang/qemu.git tags/net-pull-request
>>
>> for you to fetch changes up to 131f6055f1f0eba4cd2e862a8ff907dbde4d94d1:
>>
>> qemu-doc: Mention host_net_add/-remove in the deprecation chapter (2017-08-14 10:56:47 +0800)
>>
>> ----------------------------------------------------------------
>>
>> ----------------------------------------------------------------
>> Mao Zhongyi (4):
>> net/rocker: Remove the dead error handling
>> net/rocker: Plug memory leak in pci_rocker_init()
>> net/rocker: Convert to realize()
>> net/rocker: Fix the unusual macro name
>>
>> Thomas Huth (1):
>> qemu-doc: Mention host_net_add/-remove in the deprecation chapter
> It's not clear to me why these should all be going into 2.10,
> especially since the date for rc3 is tomorrow and that in theory
> is our final rc. At this point we should only be taking patches
> that are fixes for significant bugs or bugs that are regressions
> since 2.9. (Docs changes are OK too.) Is there a good reason
> for putting in all these rocker patches that you haven't
> mentioned in the cover letter? They look like 2.11 material
> just judging by the patch titles.
>
> thanks
> -- PMM
Ok, let me send a V2 and remove the rocker patches.
Thanks
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PULL 0/5] Net patches
@ 2019-07-29 8:33 Jason Wang
2019-07-29 11:47 ` Peter Maydell
0 siblings, 1 reply; 23+ messages in thread
From: Jason Wang @ 2019-07-29 8:33 UTC (permalink / raw)
To: qemu-devel, peter.maydell; +Cc: Jason Wang
The following changes since commit fff3159900d2b95613a9cb75fc3703e67a674729:
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20190726' into staging (2019-07-26 16:23:07 +0100)
are available in the git repository at:
https://github.com/jasowang/qemu.git tags/net-pull-request
for you to fetch changes up to f77bed14f01557596727c4eea042e9818c242049:
net/colo-compare.c: Fix memory leak and code style issue. (2019-07-29 16:29:30 +0800)
----------------------------------------------------------------
----------------------------------------------------------------
Jason Wang (1):
e1000: don't raise interrupt in pre_save()
Prasad J Pandit (3):
qemu-bridge-helper: restrict interface name to IFNAMSIZ
qemu-bridge-helper: move repeating code in parse_acl_file
net: tap: replace snprintf with g_strdup_printf calls
Zhang Chen (1):
net/colo-compare.c: Fix memory leak and code style issue.
hw/net/e1000.c | 8 ++------
net/colo-compare.c | 27 ++++++++++++++++++++-------
net/tap.c | 19 +++++++++++--------
qemu-bridge-helper.c | 24 +++++++++++++++++-------
4 files changed, 50 insertions(+), 28 deletions(-)
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/5] Net patches
2019-07-29 8:33 Jason Wang
@ 2019-07-29 11:47 ` Peter Maydell
2019-07-29 12:50 ` Jason Wang
0 siblings, 1 reply; 23+ messages in thread
From: Peter Maydell @ 2019-07-29 11:47 UTC (permalink / raw)
To: Jason Wang; +Cc: QEMU Developers
On Mon, 29 Jul 2019 at 09:33, Jason Wang <jasowang@redhat.com> wrote:
>
> The following changes since commit fff3159900d2b95613a9cb75fc3703e67a674729:
>
> Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20190726' into staging (2019-07-26 16:23:07 +0100)
>
> are available in the git repository at:
>
> https://github.com/jasowang/qemu.git tags/net-pull-request
>
> for you to fetch changes up to f77bed14f01557596727c4eea042e9818c242049:
>
> net/colo-compare.c: Fix memory leak and code style issue. (2019-07-29 16:29:30 +0800)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
> Jason Wang (1):
> e1000: don't raise interrupt in pre_save()
>
> Prasad J Pandit (3):
> qemu-bridge-helper: restrict interface name to IFNAMSIZ
> qemu-bridge-helper: move repeating code in parse_acl_file
> net: tap: replace snprintf with g_strdup_printf calls
>
> Zhang Chen (1):
> net/colo-compare.c: Fix memory leak and code style issue.
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/4.1
for any user-visible changes.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PULL 0/5] Net patches
2019-07-29 11:47 ` Peter Maydell
@ 2019-07-29 12:50 ` Jason Wang
0 siblings, 0 replies; 23+ messages in thread
From: Jason Wang @ 2019-07-29 12:50 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers
On 2019/7/29 下午7:47, Peter Maydell wrote:
> On Mon, 29 Jul 2019 at 09:33, Jason Wang <jasowang@redhat.com> wrote:
>> The following changes since commit fff3159900d2b95613a9cb75fc3703e67a674729:
>>
>> Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20190726' into staging (2019-07-26 16:23:07 +0100)
>>
>> are available in the git repository at:
>>
>> https://github.com/jasowang/qemu.git tags/net-pull-request
>>
>> for you to fetch changes up to f77bed14f01557596727c4eea042e9818c242049:
>>
>> net/colo-compare.c: Fix memory leak and code style issue. (2019-07-29 16:29:30 +0800)
>>
>> ----------------------------------------------------------------
>>
>> ----------------------------------------------------------------
>> Jason Wang (1):
>> e1000: don't raise interrupt in pre_save()
>>
>> Prasad J Pandit (3):
>> qemu-bridge-helper: restrict interface name to IFNAMSIZ
>> qemu-bridge-helper: move repeating code in parse_acl_file
>> net: tap: replace snprintf with g_strdup_printf calls
>>
>> Zhang Chen (1):
>> net/colo-compare.c: Fix memory leak and code style issue.
>
> Applied, thanks.
>
> Please update the changelog at https://wiki.qemu.org/ChangeLog/4.1
> for any user-visible changes.
>
> -- PMM
Thanks for the reminding.
There's no user-visible changes.
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2019-07-29 12:51 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-15 3:53 [Qemu-devel] [PULL 0/5] Net patches Jason Wang
2017-02-15 3:53 ` [Qemu-devel] [PULL 1/5] net: Mark 'vlan' parameter as deprecated Jason Wang
2017-02-15 3:53 ` [Qemu-devel] [PULL 2/5] net: e1000e: fix dead code in e1000e_write_packet_to_guest Jason Wang
2017-02-15 3:53 ` [Qemu-devel] [PULL 3/5] colo-compare: sort TCP packet queue by sequence number Jason Wang
2017-02-15 3:53 ` [Qemu-devel] [PULL 4/5] net: imx: limit buffer descriptor count Jason Wang
2017-02-15 3:53 ` [Qemu-devel] [PULL 5/5] net: e1000e: fix an infinite loop issue Jason Wang
2017-02-16 14:23 ` [Qemu-devel] [PULL 0/5] Net patches Peter Maydell
-- strict thread matches above, loose matches on Subject: below --
2019-07-29 8:33 Jason Wang
2019-07-29 11:47 ` Peter Maydell
2019-07-29 12:50 ` Jason Wang
2017-08-14 3:33 Jason Wang
2017-08-14 6:51 ` Peter Maydell
2017-08-14 8:07 ` Jason Wang
2016-06-28 3:35 Jason Wang
2016-06-28 10:07 ` Peter Maydell
2016-04-06 2:37 Jason Wang
2016-04-07 9:37 ` Peter Maydell
2015-06-24 15:37 Stefan Hajnoczi
2015-06-25 14:23 ` Peter Maydell
2014-12-19 13:18 Stefan Hajnoczi
2014-12-21 23:16 ` Peter Maydell
2014-06-09 13:43 Stefan Hajnoczi
2014-06-09 14:26 ` Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).