Date: Tue, 17 Feb 2004 03:16:10 +0100 From: Max Laier <max@love2party.net> To: Jiri Mikulas <konfer@mikulas.com> Cc: Stefan Ehmann <shoesoft@gmx.net> Subject: Re: PANIC: trap.c Message-ID: <200402170316.10258.max@love2party.net> In-Reply-To: <Pine.NEB.3.96L.1040215214140.61630G-100000@fledge.watson.org> References: <Pine.NEB.3.96L.1040215214140.61630G-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Boundary-00=_qlXMAXKQL1HLSBe Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Monday 16 February 2004 03:54, Robert Watson wrote: > On Mon, 16 Feb 2004, Jiri Mikulas wrote: > > Hello, just only for info I got this panic on: FreeBSD 5.2-CURRENT > > #1: Mon Feb 16 00:53:39 CET 2004 > > > > I built few kernels from saturday morning to sunday evening and with > > all of them i got this panic .. (my last functional kernel is from > > FreeBSD 5.2-CURRENT #0: Mon Feb 9 19:53:47 CET 2004) Jiri > > It looks like 'ifp' in ip_output.c is NULL here (the offset of > if_hwassist is 0x98). Are you running with DUMMYNET? I'm wondering if > the recent commit to clean up MT_TAG pseudo-mbufs has a loose end > somewhere. Try backing ouf the following commit locally: > > mlaier 2004/02/13 11:14:16 PST > > FreeBSD src repository > > Modified files: > sys/net bridge.c if_ethersubr.c > sys/netinet in_proto.c ip_divert.c ip_dummynet.c > ip_dummynet.h ip_fastfwd.c ip_fw.h > ip_fw2.c ip_input.c ip_output.c ip_var.h > tcp_debug.c tcp_input.c > sys/sys mbuf.h > Added files: > sys/netinet ip_divert.h > Log: > This set of changes eliminates the use of MT_TAG "pseudo mbufs", > replacing > them mostly with packet tags (one case is handled by using an mbuf > flag since the linkage between "caller" and "callee" is direct and > there's no need to incur the overhead of a packet tag). > > This is (mostly) work from: sam > > Silence from: -arch > Approved by: bms(mentor), sam, rwatson > > Revision Changes Path > 1.74 +5 -9 src/sys/net/bridge.c > 1.156 +2 -15 src/sys/net/if_ethersubr.c > 1.68 +1 -0 src/sys/netinet/in_proto.c > 1.82 +48 -21 src/sys/netinet/ip_divert.c > 1.1 +83 -0 src/sys/netinet/ip_divert.h (new) > 1.77 +125 -91 src/sys/netinet/ip_dummynet.c > 1.28 +17 -20 src/sys/netinet/ip_dummynet.h > 1.6 +18 -67 src/sys/netinet/ip_fastfwd.c > 1.81 +0 -1 src/sys/netinet/ip_fw.h > 1.54 +25 -5 src/sys/netinet/ip_fw2.c > 1.261 +56 -118 src/sys/netinet/ip_input.c > 1.207 +60 -53 src/sys/netinet/ip_output.c > 1.82 +16 -9 src/sys/netinet/ip_var.h > 1.22 +1 -0 src/sys/netinet/tcp_debug.c > 1.225 +2 -6 src/sys/netinet/tcp_input.c > 1.136 +1 -18 src/sys/sys/mbuf.h Okay, that was it: We forgot to remove the tag for certain codepathes (ip_input -> ip_forward -> ip_output) which was previously done by moving m to m->m_next (the actual data after the MT_TAG). Please try the attached patch to ip_input.c (forget the previous one) and report back if it works for you. Thanks in advance. -- Best regards, | mlaier@freebsd.org Max Laier | ICQ #67774661 http://pf4freebsd.love2party.net/ | mlaier@EFnet --Boundary-00=_qlXMAXKQL1HLSBe Content-Type: text/x-diff; charset="iso-8859-1"; name="ip_input.c.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="ip_input.c.diff" Index: ip_input.c =================================================================== RCS file: /home/ncvs/src/sys/netinet/ip_input.c,v retrieving revision 1.262 diff -u -r1.262 ip_input.c --- ip_input.c 13 Feb 2004 19:20:43 -0000 1.262 +++ ip_input.c 17 Feb 2004 02:03:45 -0000 @@ -504,6 +504,10 @@ } pass: + mtag = m_tag_find(m, PACKET_TAG_DUMMYNET, NULL); + if (mtag) + m_tag_delete(m, mtag); + /* * Process options and, if not destined for us, * ship it on. ip_dooptions returns 1 when an --Boundary-00=_qlXMAXKQL1HLSBe--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200402170316.10258.max>