svn commit: r184397 - user/kmacy/HEAD_fast_xmit/sys/net
Kip Macy
kmacy at FreeBSD.org
Tue Oct 28 07:37:02 UTC 2008
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);
}
More information about the svn-src-user
mailing list