From: Stephen Hemminger <shemminger@vyatta.com>
To: Brian Haley <brian.haley@hp.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>,
David Miller <davem@davemloft.net>,
netdev@vger.kernel.org, Mahesh Kelkar <maheshkelkar@gmail.com>,
Lorenzo Colitti <lorenzo@google.com>,
YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>,
stable@kernel.org
Subject: Re: [PATCH] Fix 2.6.34-rc1 regression in disable_ipv6 support
Date: Thu, 9 Dec 2010 08:27:03 -0800 [thread overview]
Message-ID: <20101209082703.6e5519e7@nehalam> (raw)
In-Reply-To: <4D00F58A.2050307@hp.com>
On Thu, 09 Dec 2010 10:28:10 -0500
Brian Haley <brian.haley@hp.com> wrote:
> On 12/08/2010 11:16 PM, Eric W. Biederman wrote:
> > Finding the real bug is beyond me right now, but fixing the regression
> > in disable_ipv6 is simple. We can just delete ::1 when we bring down
> > the loopback interface, and it will be restored automatically when we
> > bring the loopback interface back up.
>
> Hi Eric,
>
> This would work as well, same check, different way.
>
> Signed-off-by: Brian Haley <brian.haley@hp.com>
>
> diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
> index 23cc8e1..5d16a9d 100644
> --- a/net/ipv6/addrconf.c
> +++ b/net/ipv6/addrconf.c
> @@ -2728,7 +2728,8 @@ static int addrconf_ifdown(struct net_device *dev, int how)
> and not link-local, then retain it. */
> if (!how &&
> (ifa->flags&IFA_F_PERMANENT) &&
> - !(ipv6_addr_type(&ifa->addr) & IPV6_ADDR_LINKLOCAL)) {
> + !(ipv6_addr_type(&ifa->addr) &
> + (IPV6_ADDR_LINKLOCAL|IPV6_ADDR_LOOPBACK))) {
> list_move_tail(&ifa->if_list, &keep_list);
>
> /* If not doing DAD on this address, just keep it. */
Checking the address type is incorrect. Any type of address can be applied to
loopback interface. If you look a couple lines there is a special case for
loopback which keeps the address.
> /* If just doing link down, and address is permanent
> and not link-local, then retain it. */
> if (!how &&
> (ifa->flags&IFA_F_PERMANENT) &&
> !(ipv6_addr_type(&ifa->addr) & IPV6_ADDR_LINKLOCAL)) {
> list_move_tail(&ifa->if_list, &keep_list);
>
> /* If not doing DAD on this address, just keep it. */
> if ((dev->flags&(IFF_NOARP|IFF_LOOPBACK)) ||
> idev->cnf.accept_dad <= 0 ||
> (ifa->flags & IFA_F_NODAD))
I think the problem is on coming back up, not on the down step.
next prev parent reply other threads:[~2010-12-09 16:27 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-06 0:24 echo > 0 .../disable_ipv6 broken in 2.6.37-rc4 Eric W. Biederman
2010-12-06 0:33 ` Lorenzo Colitti
2010-12-06 0:39 ` Eric W. Biederman
2010-12-06 5:51 ` Eric W. Biederman
2010-12-06 16:10 ` Brian Haley
2010-12-08 21:29 ` Eric W. Biederman
2010-12-08 22:49 ` Brian Haley
2010-12-08 23:13 ` Eric W. Biederman
2010-12-08 23:49 ` Stephen Hemminger
2010-12-09 2:42 ` Eric W. Biederman
2010-12-09 3:18 ` Eric W. Biederman
2010-12-09 4:16 ` [PATCH] Fix 2.6.34-rc1 regression in disable_ipv6 support Eric W. Biederman
2010-12-09 15:28 ` Brian Haley
2010-12-09 16:27 ` Stephen Hemminger [this message]
2010-12-09 19:22 ` Eric W. Biederman
2010-12-09 19:09 ` Eric W. Biederman
2010-12-09 19:16 ` Stephen Hemminger
2010-12-09 19:31 ` Eric W. Biederman
2010-12-09 20:20 ` David Miller
2010-12-09 20:20 ` David Miller
2010-12-09 22:51 ` Stephen Hemminger
2010-12-16 21:28 ` [RFC] ipv6: don't flush routes when setting loopback down Stephen Hemminger
2010-12-16 23:17 ` Eric W. Biederman
2010-12-17 1:18 ` Eric W. Biederman
2010-12-17 2:26 ` David Miller
2011-01-19 19:18 ` Jiri Bohac
2011-01-19 19:38 ` Stephen Hemminger
2011-01-19 19:56 ` Jiri Bohac
2011-01-19 20:01 ` Stephen Hemminger
2011-01-22 8:17 ` Eric W. Biederman
2011-01-22 22:39 ` Stephen Hemminger
2011-01-22 22:54 ` David Miller
2011-01-23 4:41 ` Stephen Hemminger
2011-01-23 5:42 ` David Miller
2011-01-23 8:24 ` Stephen Hemminger
2011-01-23 8:26 ` Stephen Hemminger
2011-01-23 9:15 ` [stable] " Willy Tarreau
2011-01-23 9:21 ` Stephen Hemminger
2011-01-23 10:34 ` Stephen Hemminger
2011-01-23 19:21 ` Eric W. Biederman
2011-01-23 19:57 ` [stable] " David Miller
2011-01-23 19:48 ` David Miller
2011-01-23 19:47 ` David Miller
2010-12-10 4:02 ` [PATCH] Fix 2.6.34-rc1 regression in disable_ipv6 support Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101209082703.6e5519e7@nehalam \
--to=shemminger@vyatta.com \
--cc=brian.haley@hp.com \
--cc=davem@davemloft.net \
--cc=ebiederm@xmission.com \
--cc=lorenzo@google.com \
--cc=maheshkelkar@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=stable@kernel.org \
--cc=yoshfuji@linux-ipv6.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).