Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Oct 2008 07:37:02 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r184397 - user/kmacy/HEAD_fast_xmit/sys/net
Message-ID:  <200810280737.m9S7b295086465@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kmacy
Date: Tue Oct 28 07:37:02 2008
New Revision: 184397
URL: http://svn.freebsd.org/changeset/base/184397

Log:
  - don't pass mbuf to arpresolve in flowtable_lookup - in the current code path
    it causes a dangling referenc
  - allow duplicate flow locks

Modified:
  user/kmacy/HEAD_fast_xmit/sys/net/flowtable.c

Modified: user/kmacy/HEAD_fast_xmit/sys/net/flowtable.c
==============================================================================
--- user/kmacy/HEAD_fast_xmit/sys/net/flowtable.c	Tue Oct 28 06:27:16 2008	(r184396)
+++ user/kmacy/HEAD_fast_xmit/sys/net/flowtable.c	Tue Oct 28 07:37:02 2008	(r184397)
@@ -625,7 +625,7 @@ uncached:
 	if (ro.ro_rt == NULL) 
 		error = ENETUNREACH;
 	else {
-		error = arpresolve(ro.ro_rt->rt_ifp, ro.ro_rt, m,
+		error = arpresolve(ro.ro_rt->rt_ifp, ro.ro_rt, NULL,
 		    &ro.ro_dst, desten);
 		route_to_rtentry_info(&ro, error ? NULL : desten, ri);
 
@@ -696,7 +696,7 @@ flowtable_alloc(int nentry, int flags)
 		ft->ft_locks = malloc(ft->ft_lock_count*sizeof(struct mtx),
 				M_RTABLE, M_WAITOK | M_ZERO);
 		for (i = 0; i < ft->ft_lock_count; i++)
-			mtx_init(&ft->ft_locks[i], "flow", NULL, MTX_DEF);
+			mtx_init(&ft->ft_locks[i], "flow", NULL, MTX_DEF|MTX_DUPOK);
 
 		ft->ft_masks[0] = bit_alloc(nentry);
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810280737.m9S7b295086465>