[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48A48F1E.8050103@hp.com>
Date: Thu, 14 Aug 2008 16:01:34 -0400
From: Brian Haley <brian.haley@...com>
To: Alexey Dobriyan <adobriyan@...il.com>
CC: David Miller <davem@...emloft.net>,
containers <containers@...ts.osdl.org>, netdev@...r.kernel.org
Subject: Re: [Devel] [PATCH 1/2] netns: fix NULL-dereference in dev_net()
Alexey Dobriyan wrote:
> On Thu, Aug 14, 2008 at 03:27:25PM -0400, Brian Haley wrote:
>> Change dev_net() to handle a NULL argument - return &init_net instead.
>
>> --- a/include/linux/netdevice.h
>> +++ b/include/linux/netdevice.h
>> @@ -781,10 +781,10 @@ static inline
>> struct net *dev_net(const struct net_device *dev)
>> {
>> #ifdef CONFIG_NET_NS
>> - return dev->nd_net;
>> -#else
>> - return &init_net;
>> + if (dev)
>> + return dev->nd_net;
>> #endif
>> + return &init_net;
>> }
>
> This is ugly and wrong.
>
> The only assymetry between init_net and dynamically created netns is
> that some data structures are created only when init_net is initialized
> like some kmem caches and so on.
>
> And some sysctls that some people may ban in netns.
>
> Modulo that, init_net is no different from the rest.
So would you rather have all the callers that aren't net-namespace aware
pass &init_net? That seemed like a worse solution to me.
-Brian
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists