From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51191) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a7MHJ-0001z2-6I for qemu-devel@nongnu.org; Fri, 11 Dec 2015 06:54:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a7MHF-0006lq-5s for qemu-devel@nongnu.org; Fri, 11 Dec 2015 06:54:25 -0500 Received: from mx1.redhat.com ([209.132.183.28]:45308) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a7MHF-0006lm-06 for qemu-devel@nongnu.org; Fri, 11 Dec 2015 06:54:21 -0500 References: <20151211001505.GV2905@var.home> <1449792930-27293-1-git-send-email-samuel.thibault@ens-lyon.org> From: Thomas Huth Message-ID: <566AB966.7080101@redhat.com> Date: Fri, 11 Dec 2015 12:54:14 +0100 MIME-Version: 1.0 In-Reply-To: <1449792930-27293-1-git-send-email-samuel.thibault@ens-lyon.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 01/18] slirp: goto bad in udp_input if sosendto fails List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Samuel Thibault , qemu-devel@nongnu.org Cc: zhanghailiang , Li Zhijian , Stefan Hajnoczi , Jason Wang , Dave Gilbert , Vasiliy Tolstov , Huangpeng , Gonglei , Jan Kiszka , Yang Hongyang , Guillaume Subiron On 11/12/15 01:15, Samuel Thibault wrote: > From: Guillaume Subiron >=20 > Before this patch, if sosendto fails, udp_input is executed as if the > packet was sent, recording the packet for icmp errors, which does not > makes sense since the packet was not actually sent, errors would be > related to a previous packet. >=20 > This patch adds a goto bad to cut the execution of this function. >=20 > Signed-off-by: Guillaume Subiron > Signed-off-by: Samuel Thibault > --- > slirp/debug.h | 2 +- > slirp/udp.c | 1 + > 2 files changed, 2 insertions(+), 1 deletion(-) >=20 > diff --git a/slirp/debug.h b/slirp/debug.h > index 6cfa61e..c60f967 100644 > --- a/slirp/debug.h > +++ b/slirp/debug.h > @@ -5,7 +5,7 @@ > * terms and conditions of the copyright. > */ > =20 > -//#define DEBUG 1 > +#define DEBUG 1 Please don't enable the debug code by default. > diff --git a/slirp/udp.c b/slirp/udp.c > index fee13b4..ce63414 100644 > --- a/slirp/udp.c > +++ b/slirp/udp.c > @@ -218,6 +218,7 @@ udp_input(register struct mbuf *m, int iphlen) > *ip=3Dsave_ip; > DEBUG_MISC((dfd,"udp tx errno =3D %d-%s\n",errno,strerror(errno))); > icmp_error(m, ICMP_UNREACH,ICMP_UNREACH_NET, 0,strerror(errno)); > + goto bad; > } > =20 > m_free(so->so_m); /* used for ICMP if error on sorecvfrom */ That change looks sane to me. Thomas