DragonFly BSD
DragonFly users List (threaded) for 2006-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Hints on kernel config for a dula pII/450 system anyone?


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 16 Sep 2006 15:44:39 -0700 (PDT)

:
:Oops, forgot to post to the list, cause Matt CC'ed me and I replied to 
:his mail directly.
:
:http://rnrdoctor.sytes.net/dfcrash/
:
:Should I fill a bugreport instead?

    No, that's ok.  I'm not sure why the mbuf is shared at that point,
    but the assertion is definitely in the wrong part of the code path.

    I am going to move the assertion.   Could you try that patch and
    tell me if it works for compiled-in bridging?

					-Matt
					Matthew Dillon 
					<dillon@xxxxxxxxxxxxx>
Index: net/bridge/if_bridge.c
===================================================================
RCS file: /cvs/src/sys/net/bridge/if_bridge.c,v
retrieving revision 1.10
diff -u -r1.10 if_bridge.c
--- net/bridge/if_bridge.c	5 Sep 2006 03:48:12 -0000	1.10
+++ net/bridge/if_bridge.c	16 Sep 2006 22:41:37 -0000
@@ -2362,12 +2362,12 @@
 	snap = 0;
 	error = -1;	/* Default error if not error == 0 */
 
-	/* we may return with the IP fields swapped, ensure its not shared */
-	KASSERT(M_WRITABLE(*mp), ("%s: modifying a shared mbuf", __func__));
-
 	if (pfil_bridge == 0 && pfil_member == 0)
 		return (0); /* filtering is disabled */
 
+	/* we may return with the IP fields swapped, ensure its not shared */
+	KASSERT(M_WRITABLE(*mp), ("%s: modifying a shared mbuf", __func__));
+
 	i = min((*mp)->m_pkthdr.len, max_protohdr);
 	if ((*mp)->m_len < i) {
 	    *mp = m_pullup(*mp, i);



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]