Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 107016 Details for
Bug 161907
kernel-2.6.19-gentoo-r4 does not pickup ipv6 addresses
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
suspected bad patch
ipv6.patch (text/plain), 2.08 KB, created by
Daniel Drake (RETIRED)
on 2007-01-14 23:09:06 UTC
(
hide
)
Description:
suspected bad patch
Filename:
MIME Type:
Creator:
Daniel Drake (RETIRED)
Created:
2007-01-14 23:09:06 UTC
Size:
2.08 KB
patch
obsolete
>From stable-bounces@linux.kernel.org Thu Jan 4 17:14:44 2007 >Date: Thu, 04 Jan 2007 17:07:34 -0800 (PST) >Message-Id: <20070104.170734.94556619.davem@davemloft.net> >To: stable@kernel.org >From: David Miller <davem@davemloft.net> >Cc: bunk@stusta.de >Subject: IPV4/IPV6: Fix inet{,6} device initialization order. > >From: David L Stevens <dlstevens@us.ibm.com> > >It is important that we only assign dev->ip{,6}_ptr >only after all portions of the inet{,6} are setup. > >Otherwise we can receive packets before the multicast >spinlocks et al. are initialized. > >Signed-off-by: David L Stevens <dlstevens@us.ibm.com> >Signed-off-by: David S. Miller <davem@davemloft.net> >Signed-off-by: Chris Wright <chrisw@sous-sol.org> >--- >commit 30c4cf577fb5b68c16e5750d6bdbd7072e42b279 > > net/ipv4/devinet.c | 5 +++-- > net/ipv6/addrconf.c | 4 ++-- > 2 files changed, 5 insertions(+), 4 deletions(-) > >--- linux-2.6.19.1.orig/net/ipv4/devinet.c >+++ linux-2.6.19.1/net/ipv4/devinet.c >@@ -165,9 +165,8 @@ struct in_device *inetdev_init(struct ne > NET_IPV4_NEIGH, "ipv4", NULL, NULL); > #endif > >- /* Account for reference dev->ip_ptr */ >+ /* Account for reference dev->ip_ptr (below) */ > in_dev_hold(in_dev); >- rcu_assign_pointer(dev->ip_ptr, in_dev); > > #ifdef CONFIG_SYSCTL > devinet_sysctl_register(in_dev, &in_dev->cnf); >@@ -176,6 +175,8 @@ struct in_device *inetdev_init(struct ne > if (dev->flags & IFF_UP) > ip_mc_up(in_dev); > out: >+ /* we can receive as soon as ip_ptr is set -- do this last */ >+ rcu_assign_pointer(dev->ip_ptr, in_dev); > return in_dev; > out_kfree: > kfree(in_dev); >--- linux-2.6.19.1.orig/net/ipv6/addrconf.c >+++ linux-2.6.19.1/net/ipv6/addrconf.c >@@ -413,8 +413,6 @@ static struct inet6_dev * ipv6_add_dev(s > if (netif_carrier_ok(dev)) > ndev->if_flags |= IF_READY; > >- /* protected by rtnl_lock */ >- rcu_assign_pointer(dev->ip6_ptr, ndev); > > ipv6_mc_init_dev(ndev); > ndev->tstamp = jiffies; >@@ -425,6 +423,8 @@ static struct inet6_dev * ipv6_add_dev(s > NULL); > addrconf_sysctl_register(ndev, &ndev->cnf); > #endif >+ /* protected by rtnl_lock */ >+ rcu_assign_pointer(dev->ip6_ptr, ndev); > return ndev; > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 161907
: 107016 |
107087