From 20a754dc21a245dc815593f1717b15842713ca66 Mon Sep 17 00:00:00 2001 From: rwatson Date: Thu, 3 Jul 2008 10:55:13 +0000 Subject: 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. --- sys/netinet6/frag6.c | 4 ---- sys/netinet6/ip6_forward.c | 2 +- sys/netinet6/ip6_input.c | 2 -- 3 files changed, 1 insertion(+), 7 deletions(-) (limited to 'sys') 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? -- cgit v1.1