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.
This commit is contained in:
parent
f44e6e2ecc
commit
aaa37a7e4e
@ -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)
|
||||
|
@ -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
|
||||
/*
|
||||
|
@ -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?
|
||||
|
Loading…
Reference in New Issue
Block a user