Messages in this thread | | | Date | Mon, 8 Oct 2007 14:19:42 +0800 | From | Herbert Xu <> | Subject | Re: [NET] IPv6 oops bisected |
| |
On Sun, Oct 07, 2007 at 11:16:08PM -0700, David Miller wrote: > > diff --git a/net/ipv6/route.c b/net/ipv6/route.c > index a7db84c..7109ad6 100644 > --- a/net/ipv6/route.c > +++ b/net/ipv6/route.c > @@ -1188,7 +1188,7 @@ int ip6_route_add(struct fib6_config *cfg) > if ((cfg->fc_flags & RTF_REJECT) || > (dev && (dev->flags&IFF_LOOPBACK) && !(addr_type&IPV6_ADDR_LOOPBACK))) { > /* hold loopback dev/idev if we haven't done so. */ > - if (dev != dev->nd_net->loopback_dev) { > + if (!dev || (dev != dev->nd_net->loopback_dev)) { > if (dev) { > dev_put(dev); > in6_dev_put(idev);
Unfortunately this'll still oops a few lines down when it tries to assign dev->nd_net->loopabck_dev to dev. The issue here is which namespace are we in if dev is NULL.
Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |