[PATCH] cleanup for net/tipc/name_distr.c::tipc_named_node_up()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Small cleanup patch for net/tipc/name_distr.c::tipc_named_node_up()

Patch does the following:

 - Change a few pointer assignments from 0 to NULL (makes sparse happy).
 - Move a few variable assignment outside the tipc_nametbl_lock lock.
 - Make sure to free the allocated buffer before returning so we don't leak.


Note: patch is compile tested only and I'm not familiar with this code, so
      please check my changes carefully.


Signed-off-by: Jesper Juhl <[email protected]>
---

 net/tipc/name_distr.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

--- linux-2.6.16-rc6-orig/net/tipc/name_distr.c	2006-03-12 14:19:18.000000000 +0100
+++ linux-2.6.16-rc6/net/tipc/name_distr.c	2006-03-19 00:36:41.000000000 +0100
@@ -168,17 +168,17 @@ void tipc_named_withdraw(struct publicat
 void tipc_named_node_up(unsigned long node)
 {
 	struct publication *publ;
-	struct distr_item *item = 0;
-	struct sk_buff *buf = 0;
+	struct distr_item *item = NULL;
+	struct sk_buff *buf = NULL;
 	u32 left = 0;
 	u32 rest;
 	u32 max_item_buf;
 
 	assert(in_own_cluster(node));
-	read_lock_bh(&tipc_nametbl_lock); 
 	max_item_buf = TIPC_MAX_USER_MSG_SIZE / ITEM_SIZE;
 	max_item_buf *= ITEM_SIZE;
 	rest = publ_cnt * ITEM_SIZE;
+	read_lock_bh(&tipc_nametbl_lock); 
 
 	list_for_each_entry(publ, &publ_root, local_list) {
 		if (!buf) {
@@ -200,10 +200,11 @@ void tipc_named_node_up(unsigned long no
 			    "<%u.%u.%u>\n", tipc_zone(node), 
 			    tipc_cluster(node), tipc_node(node));
 			tipc_link_send(buf, node, node);
-			buf = 0;
+			buf = NULL;
 		}
 	}
 exit:
+	kfree_skb(buf);
 	read_unlock_bh(&tipc_nametbl_lock); 
 }
 



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux