summaryrefslogtreecommitdiffstats
path: root/sys/netinet6
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2008-07-03 10:55:13 +0000
committerrwatson <rwatson@FreeBSD.org>2008-07-03 10:55:13 +0000
commit20a754dc21a245dc815593f1717b15842713ca66 (patch)
tree27ed436dc3597303c6628c8e74c881126e784a83 /sys/netinet6
parent7b11deb4f4478e9c640852722196e85c74895e63 (diff)
downloadFreeBSD-src-20a754dc21a245dc815593f1717b15842713ca66.zip
FreeBSD-src-20a754dc21a245dc815593f1717b15842713ca66.tar.gz
Remove GIANT_REQUIRED from IPv6 input, forward, and frag6 code. The frag6
code is believed to be MPSAFE, and leaving aside the IPv6 route cache in forwarding, Giant appears not to adequately synchronize the data structures in the input or forwarding paths.
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/frag6.c4
-rw-r--r--sys/netinet6/ip6_forward.c2
-rw-r--r--sys/netinet6/ip6_input.c2
3 files changed, 1 insertions, 7 deletions
diff --git a/sys/netinet6/frag6.c b/sys/netinet6/frag6.c
index fd05c9f..9826f6b 100644
--- a/sys/netinet6/frag6.c
+++ b/sys/netinet6/frag6.c
@@ -683,10 +683,6 @@ frag6_slowtimo(void)
{
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 e335be8..8bf0595 100644
--- a/sys/netinet6/ip6_forward.c
+++ b/sys/netinet6/ip6_forward.c
@@ -106,7 +106,7 @@ ip6_forward(struct mbuf *m, int srcrt)
#endif
char ip6bufs[INET6_ADDRSTRLEN], ip6bufd[INET6_ADDRSTRLEN];
- GIANT_REQUIRED; /* XXX bz: ip6_forward_rt */
+ /* GIANT_REQUIRED; */ /* XXX bz: ip6_forward_rt */
#ifdef IPSEC
/*
diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c
index 89b2760..50fca58 100644
--- a/sys/netinet6/ip6_input.c
+++ b/sys/netinet6/ip6_input.c
@@ -222,8 +222,6 @@ ip6_input(struct mbuf *m)
struct in6_addr odst;
int srcrt = 0;
- GIANT_REQUIRED; /* XXX for now */
-
#ifdef IPSEC
/*
* should the inner packet be considered authentic?
OpenPOWER on IntegriCloud