summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbz <bz@FreeBSD.org>2006-05-04 18:41:08 +0000
committerbz <bz@FreeBSD.org>2006-05-04 18:41:08 +0000
commitcb7d941f7e4dece648bbb97732bcb76b308a595a (patch)
tree8ca08076eea528b0a6537de3b149e0f23418a4c9
parent73dfaf3f3eb6a7d22635488c0791115f2b64ef20 (diff)
downloadFreeBSD-src-cb7d941f7e4dece648bbb97732bcb76b308a595a.zip
FreeBSD-src-cb7d941f7e4dece648bbb97732bcb76b308a595a.tar.gz
Assert ip6_forward_rt protected by Giant adding GIANT_REQUIRED to
functions not yet asserting it but working on global ip6_forward_rt route cache which is not locked and perhaps should go away in the future though cache hit/miss ration wasn't bad. It's #if 0ed in frag6 because the code working on ip6_forward_rt is.
-rw-r--r--sys/netinet6/frag6.c4
-rw-r--r--sys/netinet6/ip6_forward.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/sys/netinet6/frag6.c b/sys/netinet6/frag6.c
index b3200db..7bb2e0d 100644
--- a/sys/netinet6/frag6.c
+++ b/sys/netinet6/frag6.c
@@ -688,6 +688,10 @@ frag6_slowtimo()
{
struct ip6q *q6;
+#if 0
+ GIANT_REQUIRED; /* XXX bz: ip6_forward_rt */
+#endif
+
IP6Q_LOCK();
q6 = ip6q.ip6q_next;
if (q6)
diff --git a/sys/netinet6/ip6_forward.c b/sys/netinet6/ip6_forward.c
index 3b542cf..18f0312 100644
--- a/sys/netinet6/ip6_forward.c
+++ b/sys/netinet6/ip6_forward.c
@@ -120,6 +120,8 @@ ip6_forward(m, srcrt)
int ipsecrt = 0;
#endif
+ GIANT_REQUIRED; /* XXX bz: ip6_forward_rt */
+
#ifdef IPSEC
/*
* Check AH/ESP integrity.
OpenPOWER on IntegriCloud