tipc: Add in missing lock during link initialization
Allan Stephens [Mon, 24 Jan 2011 21:22:43 +0000 (16:22 -0500)]
Ensure that the routine that starts up processing on a newly created
link endpoint takes the spinlock of the node object that owns the link,
to prevent possible conflicts with processing involving other links
owned by that node object.

Signed-off-by: Allan Stephens <Allan.Stephens@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

net/tipc/link.c

index 754e310..89fbb6d 100644 (file)
@@ -388,7 +388,9 @@ void tipc_link_delete(struct link *l_ptr)
 
 static void link_start(struct link *l_ptr)
 {
+       tipc_node_lock(l_ptr->owner);
        link_state_event(l_ptr, STARTING_EVT);
+       tipc_node_unlock(l_ptr->owner);
 }
 
 /**