From owner-freebsd-net@FreeBSD.ORG Thu Jul 2 07:22:21 2009 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 123571065679 for ; Thu, 2 Jul 2009 07:22:21 +0000 (UTC) (envelope-from bohdan200@gmail.com) Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.159]) by mx1.freebsd.org (Postfix) with ESMTP id 94DB88FC08 for ; Thu, 2 Jul 2009 07:22:20 +0000 (UTC) (envelope-from bohdan200@gmail.com) Received: by fg-out-1718.google.com with SMTP id l26so1237903fgb.12 for ; Thu, 02 Jul 2009 00:22:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=12C8sMs7kflr5H/qMwWiIFsakQ7taCKJPTVKjVrYD/k=; b=hXDVcbyOgwMEYMdhGB5pzKbexyunyEGwDgjBNeMgt7CGimaTEKCzXBEMQPTj666d2o Cy0Yiax2mNeiNjnd1isi9PAj0n9136K2Gv5/NXdddFXQtK70HUISvfFhJnTPJo77IrWU mbtMad2i1v/s4Q+A/1bw068zYAHN8dh1TzHC8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=SNayorcZjWEzmUstDJpFAgOfao1EMD6wd2mMZoieJlmLurgbcr+XuTW1D3rJlZ6yQH og33/V9GFwOOGZgK8DdvqIPMG6aKe0wssdjjNXY+uOEZSmcQ0JpOslt1S93OuDF1xYYX t2UrU+A1BV4DbowQ2uZJG5Ukmm8Py3t5ryQXU= MIME-Version: 1.0 Received: by 10.86.76.11 with SMTP id y11mr4702774fga.56.1246519339623; Thu, 02 Jul 2009 00:22:19 -0700 (PDT) In-Reply-To: <200906301940.n5UJe2l3096572@freefall.freebsd.org> References: <200906301940.n5UJe2l3096572@freefall.freebsd.org> Date: Thu, 2 Jul 2009 10:22:19 +0300 Message-ID: <9ce5b0ed0907020022n14af930du1127acb35bc14cc0@mail.gmail.com> From: Bohdan Tymkiv To: Mikolaj Golub Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: freebsd-net@freebsd.org Subject: Re: kern/134557: [netgraph] [hang] 7.2 with mpd5.3 hanging up - ng_pptp problem X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 07:22:21 -0000 Hello Mikolaj, I confirm that this patch fixes the issue. Thank you very much! Now pptp through pppoe works fine! Bohdan Tymkiv On Tue, Jun 30, 2009 at 10:40 PM, Mikolaj Golub wr= ote: > The following reply was made to PR kern/134557; it has been noted by GNAT= S. > > From: Mikolaj Golub > To: bug-followup@FreeBSD.org > Cc: freebsd-net@FreeBSD.org, Sergei Cherveni ,= Alexander Motin > Subject: Re: kern/134557: [netgraph] [hang] 7.2 with mpd5.3 hanging up - = ng_pptp problem > Date: Tue, 30 Jun 2009 22:33:12 +0300 > > =C2=A0--=3D-=3D-=3D > > =C2=A0Unfortunately, the problem was introduced by this commit :-) > > =C2=A0---------- > > =C2=A0Author: =C2=A0 =C2=A0 =C2=A0 =C2=A0mav > =C2=A0Date: =C2=A0Sat Jan 31 12:48:09 2009 UTC (4 months, 4 weeks ago) > =C2=A0Log Message: > > =C2=A0MFC rev. 187495 > > =C2=A0Check for infinite recursion possible on some broken PPTP/L2TP/... = VPN setups. > =C2=A0Mark packets with mbuf_tag on first interface passage and drop on s= econd. > > =C2=A0PR: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ports/129625, ports/12= 5303 > > =C2=A0---------- > > =C2=A0If a packet goes through two or more ng interfaces, "while" loop in= the tag > =C2=A0checking code can run infinitely. The attached patch should fix thi= s. > > =C2=A0-- > =C2=A0Mikolaj Golub > > > =C2=A0--=3D-=3D-=3D > =C2=A0Content-Type: text/x-diff > =C2=A0Content-Disposition: attachment; filename=3Dng_iface.c.patch > > =C2=A0--- netgraph/ng_iface.c.orig =C2=A0 2009-06-30 21:47:54.000000000 += 0300 > =C2=A0+++ netgraph/ng_iface.c =C2=A0 =C2=A0 =C2=A0 =C2=A02009-06-30 21:49= :29.000000000 +0300 > =C2=A0@@ -365,7 +365,8 @@ > =C2=A0 =C2=A0 =C2=A0 =C2=A0} > > =C2=A0 =C2=A0 =C2=A0 =C2=A0/* Protect from deadly infinite recursion. */ > =C2=A0- =C2=A0 =C2=A0 =C2=A0while ((mtag =3D m_tag_locate(m, MTAG_NGIF, M= TAG_NGIF_CALLED, NULL))) { > =C2=A0+ =C2=A0 =C2=A0 =C2=A0mtag =3D NULL; > =C2=A0+ =C2=A0 =C2=A0 =C2=A0while ((mtag =3D m_tag_locate(m, MTAG_NGIF, M= TAG_NGIF_CALLED, mtag))) { > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (*(struct ifnet= **)(mtag + 1) =3D=3D ifp) { > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0log(LOG_NOTICE, "Loop detected on %s\n", ifp->if_xname); > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0m_freem(m); > > =C2=A0--=3D-=3D-=3D-- > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >