public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: "Denis V. Lunev" <den@sw.ru>
Cc: David Miller <davem@davemloft.net>,
	herbert@gondor.apana.org.au, jeff@garzik.org,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	akpm@linux-foundation.org, Pavel Emelyanov <xemul@openvz.org>
Subject: Re: [NET] IPv6 oops bisected
Date: Mon, 08 Oct 2007 10:02:22 -0600	[thread overview]
Message-ID: <m13awld27l.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <4709D58F.2030802@sw.ru> (Denis V. Lunev's message of "Mon, 08 Oct 2007 11:00:31 +0400")

"Denis V. Lunev" <den@sw.ru> writes:

> David Miller wrote:
>> From: "Denis V. Lunev" <den@sw.ru>
>> Date: Mon, 08 Oct 2007 10:34:23 +0400
>> 
>>> OK. I am installing Fedora 7 right now...
>> 
>> You don't need to install Fedora, just read the code! :-)
>> 
>> The bug is obvious and it's been explained thoroughly in this
>> thread.
>> 
>> When 'dev' is NULL in ip6_route_add() we need to figure out what
>> namespace and/or loopback device you want to use.
>> 
>> There is no reason to do an entire dist install to work on fixing this
>> bug, yikes!
>
> I do understand the conditions when the bug happens. Its completely
> clear :) Though I do not understand how to trigger it from command line
> to test that the problem is resolved. Jeff was not kind enough to give
> exact command line :(
>
> The unfortunate thing with this place is that original Eric's code is
> also broken here. I was too optimistic working on the original patchset.
> In other way, but broken :(
>
> So, I must stop and think...

Denis. My original patch was fine.  That patch trivially replaced
loopback_dev with init_net.loopback_dev.   That only works for the
initial network namespace.  But until you allow multiple instances of
the network namespace into the ipv6 code the network namespace must
be init_net.

I agree hard coded the init_net.loopback_dev is not where we want to
end up but it does make a good intermediate step.  To allow simple and
stupid intermediate steps is why my original patchset very carefully
filtered every code path into the other layers of the network stack.

At a quick skim through that portion of the code. When we fully convert
it we want to add a network namespace parameter to struct fib6_config,
populate struct fib6_config from the socket that user space is using
to communicate with us.  Then in rt6_route_add and it's friends we
will have the information we need.

Further for the lower layers like ip6_fib.c struct flowi and struct
nl_info will also contain a network namespace parameter.  Which I
think is sufficient to get the network namespace information where
we need it for ipv6 routing.

So Denis do you think you could retry your original patch very
carefully one subsystem at a time instead of all across the entire
tree?

Eric

      reply	other threads:[~2007-10-08 16:05 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-07 12:52 [NET] IPv6 oops bisected Jeff Garzik
2007-10-07 13:33 ` Jeff Garzik
2007-10-07 13:49   ` Denis V. Lunev
2007-10-07 14:56     ` Jeff Garzik
2007-10-08  6:16       ` David Miller
2007-10-08  6:19         ` Herbert Xu
2007-10-08  6:23           ` David Miller
2007-10-08  6:34             ` Denis V. Lunev
2007-10-08  6:46               ` David Miller
2007-10-08  7:00                 ` Denis V. Lunev
2007-10-08 16:02                   ` Eric W. Biederman [this message]

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=m13awld27l.fsf@ebiederm.dsl.xmission.com \
    --to=ebiederm@xmission.com \
    --cc=akpm@linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=den@sw.ru \
    --cc=herbert@gondor.apana.org.au \
    --cc=jeff@garzik.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=xemul@openvz.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