From nobody Mon Apr 29 00:41:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1487130918554343.4721752254501; Tue, 14 Feb 2017 19:55:18 -0800 (PST) Received: from localhost ([::1]:38347 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdqgW-0002sJ-OC for importer@patchew.org; Tue, 14 Feb 2017 22:55:16 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48785) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdqer-000272-0v for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cdqeo-0008OW-BW for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:33 -0500 Received: from mx1.redhat.com ([209.132.183.28]:36174) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cdqeo-0008No-5w for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:30 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 46BEBC054904; Wed, 15 Feb 2017 03:53:30 +0000 (UTC) Received: from jason-ThinkPad-T450s.redhat.com (vpn1-4-152.pek2.redhat.com [10.72.4.152]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1F3rP5m027443; Tue, 14 Feb 2017 22:53:28 -0500 From: Jason Wang To: peter.maydell@linaro.org Date: Wed, 15 Feb 2017 11:53:18 +0800 Message-Id: <1487130802-27953-2-git-send-email-jasowang@redhat.com> In-Reply-To: <1487130802-27953-1-git-send-email-jasowang@redhat.com> References: <1487130802-27953-1-git-send-email-jasowang@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Wed, 15 Feb 2017 03:53:30 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 1/5] net: Mark 'vlan' parameter as deprecated X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jason Wang , Thomas Huth , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Thomas Huth 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 Signed-off-by: Jason Wang --- 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 =3D NULL; + static bool vlan_warned; =20 if (is_netdev) { netdev =3D 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 =3D 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' instea= d."); + vlan_warned =3D true; + } } =20 if (net_client_init_fun[netdev->type](netdev, name, peer, errp) < 0) { --=20 2.7.4 From nobody Mon Apr 29 00:41:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1487131243817698.8937369760985; Tue, 14 Feb 2017 20:00:43 -0800 (PST) Received: from localhost ([::1]:38377 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdqll-0007gv-Kr for importer@patchew.org; Tue, 14 Feb 2017 23:00:41 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48797) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdqer-000273-UY for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cdqeq-0008Pi-PB for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:34 -0500 Received: from mx1.redhat.com ([209.132.183.28]:55344) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cdqeq-0008PB-Jv for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:32 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id AA76C3B3D2; Wed, 15 Feb 2017 03:53:32 +0000 (UTC) Received: from jason-ThinkPad-T450s.redhat.com (vpn1-4-152.pek2.redhat.com [10.72.4.152]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1F3rP5n027443; Tue, 14 Feb 2017 22:53:30 -0500 From: Jason Wang To: peter.maydell@linaro.org Date: Wed, 15 Feb 2017 11:53:19 +0800 Message-Id: <1487130802-27953-3-git-send-email-jasowang@redhat.com> In-Reply-To: <1487130802-27953-1-git-send-email-jasowang@redhat.com> References: <1487130802-27953-1-git-send-email-jasowang@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Wed, 15 Feb 2017 03:53:32 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 2/5] net: e1000e: fix dead code in e1000e_write_packet_to_guest X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , Jason Wang , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Paolo Bonzini 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 Reviewed-by: Dmitry Fleytman Signed-off-by: Jason Wang --- 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 =3D 0; bool do_ps =3D e1000e_do_ps(core, pkt, &ps_hdr_len); + bool is_first =3D true; =20 rxi =3D rxr->i; =20 @@ -1514,7 +1515,6 @@ e1000e_write_packet_to_guest(E1000ECore *core, struct= NetRxPkt *pkt, hwaddr ba[MAX_PS_BUFFERS]; e1000e_ba_state bastate =3D { { 0 } }; bool is_last =3D false; - bool is_first =3D true; =20 desc_size =3D total_size - desc_offset; =20 --=20 2.7.4 From nobody Mon Apr 29 00:41:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1487131367170773.5145686469979; Tue, 14 Feb 2017 20:02:47 -0800 (PST) Received: from localhost ([::1]:38386 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdqnk-0000uj-UY for importer@patchew.org; Tue, 14 Feb 2017 23:02:44 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48817) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdqeu-00027k-LG for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cdqet-0008QE-M3 for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:36 -0500 Received: from mx1.redhat.com ([209.132.183.28]:60172) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cdqet-0008Q9-G0 for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:35 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 833717FB69; Wed, 15 Feb 2017 03:53:35 +0000 (UTC) Received: from jason-ThinkPad-T450s.redhat.com (vpn1-4-152.pek2.redhat.com [10.72.4.152]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1F3rP5o027443; Tue, 14 Feb 2017 22:53:33 -0500 From: Jason Wang To: peter.maydell@linaro.org Date: Wed, 15 Feb 2017 11:53:20 +0800 Message-Id: <1487130802-27953-4-git-send-email-jasowang@redhat.com> In-Reply-To: <1487130802-27953-1-git-send-email-jasowang@redhat.com> References: <1487130802-27953-1-git-send-email-jasowang@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Wed, 15 Feb 2017 03:53:35 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 3/5] colo-compare: sort TCP packet queue by sequence number X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jason Wang , Li Zhijian , qemu-devel@nongnu.org, Zhang Chen Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Zhang Chen Improve efficiency of TCP packet comparison. Signed-off-by: Zhang Chen Signed-off-by: Li Zhijian Signed-off-by: Jason Wang --- 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); =20 +static gint seq_sorter(Packet *a, Packet *b, gpointer data) +{ + struct tcphdr *atcp, *btcp; + + atcp =3D (struct tcphdr *)(a->transport_header); + btcp =3D (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) <=3D MAX_QUEUE_SIZE) { g_queue_push_tail(&conn->primary_list, pkt); + if (conn->ip_proto =3D=3D 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) <=3D MAX_QUEUE_SIZE) { g_queue_push_tail(&conn->secondary_list, pkt); + if (conn->ip_proto =3D=3D IPPROTO_TCP) { + g_queue_sort(&conn->secondary_list, + (GCompareDataFunc)seq_sorter, + NULL); + } } else { error_report("colo compare secondary queue size too big," "drop packet"); --=20 2.7.4 From nobody Mon Apr 29 00:41:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1487131477558452.8274137810571; Tue, 14 Feb 2017 20:04:37 -0800 (PST) Received: from localhost ([::1]:38391 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdqpY-00022M-E5 for importer@patchew.org; Tue, 14 Feb 2017 23:04:36 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48830) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdqex-00028t-5D for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cdqev-0008R3-Po for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:39 -0500 Received: from mx1.redhat.com ([209.132.183.28]:34106) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cdqev-0008Qk-K2 for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:37 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B7AF7D1FD3; Wed, 15 Feb 2017 03:53:37 +0000 (UTC) Received: from jason-ThinkPad-T450s.redhat.com (vpn1-4-152.pek2.redhat.com [10.72.4.152]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1F3rP5p027443; Tue, 14 Feb 2017 22:53:35 -0500 From: Jason Wang To: peter.maydell@linaro.org Date: Wed, 15 Feb 2017 11:53:21 +0800 Message-Id: <1487130802-27953-5-git-send-email-jasowang@redhat.com> In-Reply-To: <1487130802-27953-1-git-send-email-jasowang@redhat.com> References: <1487130802-27953-1-git-send-email-jasowang@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Wed, 15 Feb 2017 03:53:37 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 4/5] net: imx: limit buffer descriptor count X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jason Wang , qemu-devel@nongnu.org, Prasad J Pandit Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Prasad J Pandit 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 Signed-off-by: Prasad J Pandit Signed-off-by: Jason Wang --- 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) =20 +#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) =20 static void imx_fec_do_tx(IMXFECState *s) { - int frame_size =3D 0; + int frame_size =3D 0, descnt =3D 0; uint8_t frame[ENET_MAX_FRAME_SIZE]; uint8_t *ptr =3D frame; uint32_t addr =3D s->tx_descriptor; =20 - while (1) { + while (descnt++ < IMX_MAX_DESC) { IMXFECBufDesc bd; int len; =20 @@ -453,12 +455,12 @@ static void imx_fec_do_tx(IMXFECState *s) =20 static void imx_enet_do_tx(IMXFECState *s) { - int frame_size =3D 0; + int frame_size =3D 0, descnt =3D 0; uint8_t frame[ENET_MAX_FRAME_SIZE]; uint8_t *ptr =3D frame; uint32_t addr =3D s->tx_descriptor; =20 - while (1) { + while (descnt++ < IMX_MAX_DESC) { IMXENETBufDesc bd; int len; =20 --=20 2.7.4 From nobody Mon Apr 29 00:41:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1487130937563714.4362209104819; Tue, 14 Feb 2017 19:55:37 -0800 (PST) Received: from localhost ([::1]:38349 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdqgq-00032e-7X for importer@patchew.org; Tue, 14 Feb 2017 22:55:36 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48846) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdqf2-0002By-5E for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cdqf0-0008Ty-9r for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:44 -0500 Received: from mx1.redhat.com ([209.132.183.28]:52250) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cdqf0-0008T7-3L for qemu-devel@nongnu.org; Tue, 14 Feb 2017 22:53:42 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EEA1461BAD; Wed, 15 Feb 2017 03:53:41 +0000 (UTC) Received: from jason-ThinkPad-T450s.redhat.com (vpn1-4-152.pek2.redhat.com [10.72.4.152]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1F3rP5q027443; Tue, 14 Feb 2017 22:53:38 -0500 From: Jason Wang To: peter.maydell@linaro.org Date: Wed, 15 Feb 2017 11:53:22 +0800 Message-Id: <1487130802-27953-6-git-send-email-jasowang@redhat.com> In-Reply-To: <1487130802-27953-1-git-send-email-jasowang@redhat.com> References: <1487130802-27953-1-git-send-email-jasowang@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Wed, 15 Feb 2017 03:53:42 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 5/5] net: e1000e: fix an infinite loop issue X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Li Qiang , Jason Wang , Li Qiang , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Li Qiang 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 Reviewed-by: Dmitry Fleytman Signed-off-by: Jason Wang --- 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] =3D=3D core->mac[r->dt]; + return core->mac[r->dh] =3D=3D core->mac[r->dt] || + core->mac[r->dt] >=3D core->mac[r->dlen] / E1000_RING_DESC= _LEN; } =20 static inline uint64_t @@ -1522,6 +1523,10 @@ e1000e_write_packet_to_guest(E1000ECore *core, struc= t NetRxPkt *pkt, desc_size =3D core->rx_desc_buf_size; } =20 + if (e1000e_ring_empty(core, rxi)) { + return; + } + base =3D e1000e_ring_head_descr(core, rxi); =20 pci_dma_read(d, base, &desc, core->rx_desc_len); --=20 2.7.4