OpenVZ Forum


Home » Mailing lists » Devel » [PATCH] Ensure that pneigh_lookup is protected with RTNL
[PATCH] Ensure that pneigh_lookup is protected with RTNL [message #21733] Mon, 15 October 2007 13:38 Go to previous message
Pavel Emelianov is currently offline  Pavel Emelianov
Messages: 1149
Registered: September 2006
Senior Member
The pnigh_lookup is used to lookup proxy entries and to 
create them in case lookup failed. 

However, the "creation" code does not perform the re-lookup
after GFP_KERNEL allocation. This is done because the code
is expected to be protected with the RTNL lock, so add the 
assertion (mainly to address future questions from new network 
developers like me :) ).

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>

---
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index c52df85..cd3af59 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -481,6 +481,8 @@ struct pneigh_entry * pneigh_lookup(struct neigh_table *tbl, const void *pkey,
 	if (!creat)
 		goto out;
 
+	ASSERT_RTNL();
+
 	n = kmalloc(sizeof(*n) + key_len, GFP_KERNEL);
 	if (!n)
 		goto out;
 
Read Message
Read Message
Previous Topic: [patch 0/2][NETNS49][IPV4][IGMP] activate multicast per namespace
Next Topic: [PATCH][NETNS] Don't panic on creating the namespace's loopback
Goto Forum:
  


Current Time: Mon Aug 11 18:40:54 GMT 2025

Total time taken to generate the page: 0.28715 seconds