[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080814195537.GA8214@martell.zuzino.mipt.ru>
Date: Thu, 14 Aug 2008 23:55:37 +0400
From: Alexey Dobriyan <adobriyan@...il.com>
To: Brian Haley <brian.haley@...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()
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.
--
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