OpenVZ Forum


Home » Mailing lists » Devel » [net-2.6.24][NETNS][patch 0/3] fixes for the core network namespace
[net-2.6.24][NETNS][patch 0/3] fixes for the core network namespace [message #20136] Wed, 12 September 2007 12:38 Go to next message
Daniel Lezcano is currently offline  Daniel Lezcano
Messages: 417
Registered: June 2006
Senior Member
The following patches fixes some compilation errors and boot problems
related to the network namespace patchset.

They apply to net-2.6.24
-- 
_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
[net-2.6.24][NETNS][patch 3/3] fix bad macro definition [message #20137 is a reply to message #20136] Wed, 12 September 2007 12:38 Go to previous messageGo to next message
Daniel Lezcano is currently offline  Daniel Lezcano
Messages: 417
Registered: June 2006
Senior Member
From: Daniel Lezcano <dlezcano@fr.ibm.com>

The macro definition is bad. When calling next_net_device with 
parameter name "dev", the resulting code is:
	  struct net_device *dev = dev and that leads to an unexpected
behavior. Especially when llc_core is compiled in, the kernel panics
at boot time.
The patchset change macro definition with static inline functions as
they were defined before.

Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
---
 include/linux/netdevice.h |   35 +++++++++++++++++------------------
 1 file changed, 17 insertions(+), 18 deletions(-)

Index: net-2.6.24/include/linux/netdevice.h
===================================================================
--- net-2.6.24.orig/include/linux/netdevice.h
+++ net-2.6.24/include/linux/netdevice.h
@@ -41,7 +41,8 @@
 #include <linux/dmaengine.h>
 #include <linux/workqueue.h>
 
-struct net;
+#include <net/net_namespace.h>
+
 struct vlan_group;
 struct ethtool_ops;
 struct netpoll_info;
@@ -739,23 +740,21 @@
 		list_for_each_entry_continue(d, &(net)->dev_base_head, dev_list)
 #define net_device_entry(lh)	list_entry(lh, struct net_device, dev_list)
 
-#define next_net_device(d) 						\
-({									\
-	struct net_device *dev = d;					\
-	struct list_head *lh;						\
-	struct net *net;						\
-									\
-	net = dev->nd_net;						\
-	lh = dev->dev_list.next;					\
-	lh == &net->dev_base_head ? NULL : net_device_entry(lh);	\
-})
-
-#define first_net_device(N)					\
-({								\
-	struct net *NET = (N);					\
-	list_empty(&NET->dev_base_head) ? NULL :		\
-		net_device_entry(NET->dev_base_head.next);	\
-})
+static inline struct net_device *next_net_device(struct net_device *dev)
+{
+	struct list_head *lh;
+	struct net *net;
+
+	net = dev->nd_net;
+        lh = dev->dev_list.next;
+	return lh == &net->dev_base_head ? NULL : net_device_entry(lh);
+}
+
+static inline struct net_device *first_net_device(struct net *net)
+{
+	return list_empty(&net->dev_base_head) ? NULL :
+		net_device_entry(net->dev_base_head.next);
+}
 
 extern int 			netdev_boot_setup_check(struct net_device *dev);
 extern unsigned long		netdev_boot_base(const char *prefix, int unit);

-- 
_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
[net-2.6.24][NETNS][patch 1/3] fix export symbols [message #20138 is a reply to message #20136] Wed, 12 September 2007 12:38 Go to previous messageGo to next message
Daniel Lezcano is currently offline  Daniel Lezcano
Messages: 417
Registered: June 2006
Senior Member
From: Daniel Lezcano <dlezcano@fr.ibm.com>

Add the appropriate EXPORT_SYMBOLS for proc_net_create,
proc_net_fops_create and proc_net_remove to fix errors when
compiling allmodconfig

Signed-off-by: Mark Nelson <markn@au1.ibm.com>
Acked-by: Benjamin Thery <benjamin.thery@bull.net>
---
 fs/proc/proc_net.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Index: net-2.6.24/fs/proc/proc_net.c
===================================================================
--- net-2.6.24.orig/fs/proc/proc_net.c
+++ net-2.6.24/fs/proc/proc_net.c
@@ -31,6 +31,7 @@
 {
 	return create_proc_info_entry(name,mode, net->proc_net, get_info);
 }
+EXPORT_SYMBOL_GPL(proc_net_create);
 
 struct proc_dir_entry *proc_net_fops_create(struct net *net,
 	const char *name, mode_t mode, const struct file_operations *fops)
@@ -42,12 +43,13 @@
 		res->proc_fops = fops;
 	return res;
 }
+EXPORT_SYMBOL_GPL(proc_net_fops_create);
 
 void proc_net_remove(struct net *net, const char *name)
 {
 	remove_proc_entry(name, net->proc_net);
 }
-
+EXPORT_SYMBOL_GPL(proc_net_remove);
 
 static struct proc_dir_entry *proc_net_shadow;
 

-- 
_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
[net-2.6.24][NETNS][patch 2/3] fix loopback network namespace initialization [message #20139 is a reply to message #20136] Wed, 12 September 2007 12:38 Go to previous messageGo to next message
Daniel Lezcano is currently offline  Daniel Lezcano
Messages: 417
Registered: June 2006
Senior Member
From: Daniel Lezcano <dlezcano@fr.ibm.com>

The core patchset of the network namespace sent by 
Eric Biederman does not do dynamic loopback creation.
So there is no call to alloc_netdev_mq which fills the
network namespace field of the netdevice.

This patch assign the loopback to the init network namespace.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
---
 drivers/net/loopback.c |    1 +
 1 file changed, 1 insertion(+)

Index: net-2.6.24/drivers/net/loopback.c
===================================================================
--- net-2.6.24.orig/drivers/net/loopback.c
+++ net-2.6.24/drivers/net/loopback.c
@@ -225,6 +225,7 @@
 				  | NETIF_F_LLTX
 				  | NETIF_F_NETNS_LOCAL,
 	.ethtool_ops		= &loopback_ethtool_ops,
+	.nd_net                 = &init_net,
 };
 
 /* Setup and register the loopback device. */

-- 
_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
Re: [net-2.6.24][NETNS][patch 2/3] fix loopback network namespace initialization [message #20140 is a reply to message #20139] Wed, 12 September 2007 12:55 Go to previous messageGo to next message
davem is currently offline  davem
Messages: 463
Registered: February 2006
Senior Member
From: dlezcano@fr.ibm.com
Date: Wed, 12 Sep 2007 14:38:13 +0200

> From: Daniel Lezcano <dlezcano@fr.ibm.com>
> 
> The core patchset of the network namespace sent by 
> Eric Biederman does not do dynamic loopback creation.
> So there is no call to alloc_netdev_mq which fills the
> network namespace field of the netdevice.
> 
> This patch assign the loopback to the init network namespace.
> 
> Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>

Applied, thanks.
_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
Re: [net-2.6.24][NETNS][patch 1/3] fix export symbols [message #20141 is a reply to message #20138] Wed, 12 September 2007 12:57 Go to previous messageGo to next message
Daniel Lezcano is currently offline  Daniel Lezcano
Messages: 417
Registered: June 2006
Senior Member
David Miller wrote:
> From: dlezcano@fr.ibm.com
> Date: Wed, 12 Sep 2007 14:38:12 +0200
> 
>> From: Daniel Lezcano <dlezcano@fr.ibm.com>
>>
>> Add the appropriate EXPORT_SYMBOLS for proc_net_create,
>> proc_net_fops_create and proc_net_remove to fix errors when
>> compiling allmodconfig
>>
>> Signed-off-by: Mark Nelson <markn@au1.ibm.com>
>> Acked-by: Benjamin Thery <benjamin.thery@bull.net>
> 
> Applied to net-2.6.24, thanks.
> 
> Why aren't you signing off on these patches?  Please
> do so in the future.
> 
> Because "From: " usually means you are the patch author, and I can't
> tell who wrote these patches, you or these other people listed in the
> signoff area.
> 

Sorry for that, I will take care of that next time. Thanks.
_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
Re: [net-2.6.24][NETNS][patch 1/3] fix export symbols [message #20142 is a reply to message #20138] Wed, 12 September 2007 12:53 Go to previous messageGo to next message
davem is currently offline  davem
Messages: 463
Registered: February 2006
Senior Member
From: dlezcano@fr.ibm.com
Date: Wed, 12 Sep 2007 14:38:12 +0200

> From: Daniel Lezcano <dlezcano@fr.ibm.com>
> 
> Add the appropriate EXPORT_SYMBOLS for proc_net_create,
> proc_net_fops_create and proc_net_remove to fix errors when
> compiling allmodconfig
> 
> Signed-off-by: Mark Nelson <markn@au1.ibm.com>
> Acked-by: Benjamin Thery <benjamin.thery@bull.net>

Applied to net-2.6.24, thanks.

Why aren't you signing off on these patches?  Please
do so in the future.

Because "From: " usually means you are the patch author, and I can't
tell who wrote these patches, you or these other people listed in the
signoff area.
_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
Re: [net-2.6.24][NETNS][patch 3/3] fix bad macro definition [message #20143 is a reply to message #20137] Wed, 12 September 2007 12:58 Go to previous message
davem is currently offline  davem
Messages: 463
Registered: February 2006
Senior Member
From: dlezcano@fr.ibm.com
Date: Wed, 12 Sep 2007 14:38:14 +0200

> From: Daniel Lezcano <dlezcano@fr.ibm.com>
> 
> The macro definition is bad. When calling next_net_device with 
> parameter name "dev", the resulting code is:
> 	  struct net_device *dev = dev and that leads to an unexpected
> behavior. Especially when llc_core is compiled in, the kernel panics
> at boot time.
> The patchset change macro definition with static inline functions as
> they were defined before.
> 
> Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
> Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>

Applied, thanks.
_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
Previous Topic: [-mm PATCH] Memory controller make charging gfp mask aware
Next Topic: [BUG] ULOG problem on stable 2.6.18
Goto Forum:
  


Current Time: Tue Aug 19 12:33:13 GMT 2025

Total time taken to generate the page: 0.10136 seconds