From: Sven Eckelmann Date: Fri, 15 Jul 2016 15:39:16 +0000 (+0200) Subject: batman-adv: Place kref_get for orig_node_vlan near use X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=09537d1869499fb3eac710cc54e700602b6c66c9;p=deliverable%2Flinux.git batman-adv: Place kref_get for orig_node_vlan near use 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 caused by incorrect reference counting. Signed-off-by: Sven Eckelmann Signed-off-by: Marek Lindner Signed-off-by: Simon Wunderlich --- diff --git a/net/batman-adv/originator.c b/net/batman-adv/originator.c index 95c85558c530..5108af11a6e9 100644 --- a/net/batman-adv/originator.c +++ b/net/batman-adv/originator.c @@ -133,9 +133,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: