public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] [PATCH v2 01/18] batman-adv: Place kref_get for orig_node_vlan near use
@ 2016-07-15 15:39 Sven Eckelmann
  2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 02/18] batman-adv: Place kref_get for orig_ifinfo " Sven Eckelmann
                   ` (17 more replies)
  0 siblings, 18 replies; 37+ messages in thread
From: Sven Eckelmann @ 2016-07-15 15:39 UTC (permalink / raw)
  To: b.a.t.m.a.n

It is hard to understand why the refcnt is increased when it isn't done
near the actual place the new reference is used. So using kref_get right
before the place which requires the reference and in the same function
helps to avoid accidental problems causedy incorrect reference counting.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
---
v2:
 - split patch based on type

 net/batman-adv/originator.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/batman-adv/originator.c b/net/batman-adv/originator.c
index 3940b5d..d778eb1 100644
--- a/net/batman-adv/originator.c
+++ b/net/batman-adv/originator.c
@@ -127,9 +127,9 @@ batadv_orig_node_vlan_new(struct batadv_orig_node *orig_node,
 		goto out;
 
 	kref_init(&vlan->refcount);
-	kref_get(&vlan->refcount);
 	vlan->vid = vid;
 
+	kref_get(&vlan->refcount);
 	hlist_add_head_rcu(&vlan->list, &orig_node->vlan_list);
 
 out:
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2016-07-19  8:46 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-15 15:39 [B.A.T.M.A.N.] [PATCH v2 01/18] batman-adv: Place kref_get for orig_node_vlan near use Sven Eckelmann
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 02/18] batman-adv: Place kref_get for orig_ifinfo " Sven Eckelmann
2016-07-19  8:08   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 03/18] batman-adv: Place kref_get for tt_orig_list_entry " Sven Eckelmann
2016-07-19  8:09   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 04/18] batman-adv: Place kref_get for neigh_ifinfo " Sven Eckelmann
2016-07-19  8:09   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 05/18] batman-adv: Place kref_get for neigh_node " Sven Eckelmann
2016-07-19  8:10   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 06/18] batman-adv: Place kref_get for orig_node " Sven Eckelmann
2016-07-19  8:25   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 07/18] batman-adv: Place kref_get for tt_local_entry " Sven Eckelmann
2016-07-19  8:26   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 08/18] batman-adv: Place kref_get for tt_common " Sven Eckelmann
2016-07-19  8:27   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 09/18] batman-adv: Place kref_get for bla_claim " Sven Eckelmann
2016-07-19  8:29   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 10/18] batman-adv: Place kref_get for bla_backbone_gw " Sven Eckelmann
2016-07-19  8:30   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 11/18] batman-adv: Place kref_get for dat_entry " Sven Eckelmann
2016-07-19  8:30   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 12/18] batman-adv: Place kref_get for gw_node " Sven Eckelmann
2016-07-19  8:34   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 13/18] batman-adv: Place kref_get for hard_iface " Sven Eckelmann
2016-07-19  8:40   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 14/18] batman-adv: Place kref_get for softif_vlan " Sven Eckelmann
2016-07-19  8:42   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 15/18] batman-adv: Place kref_get for nc_node " Sven Eckelmann
2016-07-19  8:43   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 16/18] batman-adv: Place kref_get for nc_path " Sven Eckelmann
2016-07-19  8:44   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 17/18] batman-adv: Place kref_get for tvlv_container " Sven Eckelmann
2016-07-19  8:45   ` Marek Lindner
2016-07-15 15:39 ` [B.A.T.M.A.N.] [PATCH v2 18/18] " Sven Eckelmann
2016-07-19  8:41   ` Sven Eckelmann
2016-07-19  8:46   ` [B.A.T.M.A.N.] [PATCH v2 18/18] batman-adv: Place kref_get for tvlv_handler " Marek Lindner
2016-07-19  8:07 ` [B.A.T.M.A.N.] [PATCH v2 01/18] batman-adv: Place kref_get for orig_node_vlan " Marek Lindner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox