summaryrefslogtreecommitdiffstats
path: root/sys/netinet6
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2003-10-18 17:46:23 +0000
committerume <ume@FreeBSD.org>2003-10-18 17:46:23 +0000
commit42120d22ead76258f3a3435c06d03782daa9d7ad (patch)
tree80ecd49ed1e1577eeb4663e2c1a69bd00712cfda /sys/netinet6
parent313310b9a62adb46660eb348051e22f68aab5fbe (diff)
downloadFreeBSD-src-42120d22ead76258f3a3435c06d03782daa9d7ad.zip
FreeBSD-src-42120d22ead76258f3a3435c06d03782daa9d7ad.tar.gz
rtfree() must be called in lock context.
Reported by: jhay
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/nd6.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c
index e091dee..d7a0e6f 100644
--- a/sys/netinet6/nd6.c
+++ b/sys/netinet6/nd6.c
@@ -1894,6 +1894,7 @@ nd6_output(ifp, origifp, m0, dst, rt0)
if (rt->rt_gwroute == 0)
goto lookup;
if (((rt = rt->rt_gwroute)->rt_flags & RTF_UP) == 0) {
+ RT_LOCK(rt);
rtfree(rt); rt = rt0;
lookup:
rt->rt_gwroute = rtalloc1(rt->rt_gateway, 1, 0UL);
OpenPOWER on IntegriCloud