diff options
author | rwatson <rwatson@FreeBSD.org> | 2008-07-03 10:55:13 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2008-07-03 10:55:13 +0000 |
commit | 20a754dc21a245dc815593f1717b15842713ca66 (patch) | |
tree | 27ed436dc3597303c6628c8e74c881126e784a83 /sys | |
parent | 7b11deb4f4478e9c640852722196e85c74895e63 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/netinet6/frag6.c | 4 | ||||
-rw-r--r-- | sys/netinet6/ip6_forward.c | 2 | ||||
-rw-r--r-- | sys/netinet6/ip6_input.c | 2 |
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? |