The batman-adv source code is the only place in the kernel which uses the
*_free_ref naming scheme for the *_put functions. Changing it to *_put
makes it more consistent and makes it easier to understand the connection
to the *_get functions.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
16 files changed:
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
if (!own_packet)
atomic_inc(&bat_priv->batman_queue_left);
out_free_outgoing:
if (!own_packet)
atomic_inc(&bat_priv->batman_queue_left);
out_free_outgoing:
- batadv_hardif_free_ref(if_outgoing);
+ batadv_hardif_put(if_outgoing);
- batadv_hardif_free_ref(if_incoming);
+ batadv_hardif_put(if_incoming);
}
/* aggregate a new packet into the existing ogm packet */
}
/* aggregate a new packet into the existing ogm packet */
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
netif_rx(skb);
out:
if (primary_if)
netif_rx(skb);
out:
if (primary_if)
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
* so just call that one.
*/
batadv_bla_update_orig_address(bat_priv, primary_if, primary_if);
* so just call that one.
*/
batadv_bla_update_orig_address(bat_priv, primary_if, primary_if);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
queue_delayed_work(batadv_event_workqueue, &bat_priv->bla.work,
msecs_to_jiffies(BATADV_BLA_PERIOD_LENGTH));
queue_delayed_work(batadv_event_workqueue, &bat_priv->bla.work,
msecs_to_jiffies(BATADV_BLA_PERIOD_LENGTH));
if (primary_if) {
crc = crc16(0, primary_if->net_dev->dev_addr, ETH_ALEN);
bat_priv->bla.claim_dest.group = htons(crc);
if (primary_if) {
crc = crc16(0, primary_if->net_dev->dev_addr, ETH_ALEN);
bat_priv->bla.claim_dest.group = htons(crc);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
} else {
bat_priv->bla.claim_dest.group = 0; /* will be set later */
}
} else {
bat_priv->bla.claim_dest.group = 0; /* will be set later */
}
bat_priv->bla.backbone_hash = NULL;
}
if (primary_if)
bat_priv->bla.backbone_hash = NULL;
}
if (primary_if)
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
if (claim)
batadv_claim_free_ref(claim);
return ret;
if (claim)
batadv_claim_free_ref(claim);
return ret;
ret = 1;
out:
if (primary_if)
ret = 1;
out:
if (primary_if)
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
if (claim)
batadv_claim_free_ref(claim);
return ret;
if (claim)
batadv_claim_free_ref(claim);
return ret;
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
batadv_bla_update_orig_address(bat_priv, primary_if, oldif);
out:
if (primary_if)
batadv_bla_update_orig_address(bat_priv, primary_if, oldif);
out:
if (primary_if)
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
}
static void batadv_primary_if_select(struct batadv_priv *bat_priv,
}
static void batadv_primary_if_select(struct batadv_priv *bat_priv,
out:
if (curr_hard_iface)
out:
if (curr_hard_iface)
- batadv_hardif_free_ref(curr_hard_iface);
+ batadv_hardif_put(curr_hard_iface);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
hard_iface->soft_iface = NULL;
dev_put(soft_iface);
err:
hard_iface->soft_iface = NULL;
dev_put(soft_iface);
err:
- batadv_hardif_free_ref(hard_iface);
+ batadv_hardif_put(hard_iface);
batadv_primary_if_select(bat_priv, new_if);
if (new_if)
batadv_primary_if_select(bat_priv, new_if);
if (new_if)
- batadv_hardif_free_ref(new_if);
+ batadv_hardif_put(new_if);
}
bat_priv->bat_algo_ops->bat_iface_disable(hard_iface);
}
bat_priv->bat_algo_ops->bat_iface_disable(hard_iface);
}
hard_iface->soft_iface = NULL;
}
hard_iface->soft_iface = NULL;
- batadv_hardif_free_ref(hard_iface);
+ batadv_hardif_put(hard_iface);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
batadv_debugfs_del_hardif(hard_iface);
batadv_sysfs_del_hardif(&hard_iface->hardif_obj);
batadv_debugfs_del_hardif(hard_iface);
batadv_sysfs_del_hardif(&hard_iface->hardif_obj);
- batadv_hardif_free_ref(hard_iface);
+ batadv_hardif_put(hard_iface);
}
static struct batadv_hard_iface *
}
static struct batadv_hard_iface *
- batadv_hardif_free_ref(hard_iface);
+ batadv_hardif_put(hard_iface);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
void batadv_hardif_release(struct kref *ref);
/**
void batadv_hardif_release(struct kref *ref);
/**
- * batadv_hardif_free_ref - decrement the hard interface refcounter and possibly
+ * batadv_hardif_put - decrement the hard interface refcounter and possibly
* release it
* @hard_iface: the hard interface to free
*/
* release it
* @hard_iface: the hard interface to free
*/
-static inline void batadv_hardif_free_ref(struct batadv_hard_iface *hard_iface)
+static inline void batadv_hardif_put(struct batadv_hard_iface *hard_iface)
{
kref_put(&hard_iface->refcount, batadv_hardif_release);
}
{
kref_put(&hard_iface->refcount, batadv_hardif_release);
}
kfree_skb(skb);
out:
if (primary_if)
kfree_skb(skb);
out:
if (primary_if)
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
if (neigh_node)
batadv_neigh_node_free_ref(neigh_node);
if (orig_node)
if (neigh_node)
batadv_neigh_node_free_ref(neigh_node);
if (orig_node)
seq_printf(seq,
"BATMAN mesh %s disabled - primary interface not active\n",
net_dev->name);
seq_printf(seq,
"BATMAN mesh %s disabled - primary interface not active\n",
net_dev->name);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
neigh_ifinfo = container_of(ref, struct batadv_neigh_ifinfo, refcount);
if (neigh_ifinfo->if_outgoing != BATADV_IF_DEFAULT)
neigh_ifinfo = container_of(ref, struct batadv_neigh_ifinfo, refcount);
if (neigh_ifinfo->if_outgoing != BATADV_IF_DEFAULT)
- batadv_hardif_free_ref(neigh_ifinfo->if_outgoing);
+ batadv_hardif_put(neigh_ifinfo->if_outgoing);
kfree_rcu(neigh_ifinfo, rcu);
}
kfree_rcu(neigh_ifinfo, rcu);
}
hlist_del_init_rcu(&hardif_neigh->list);
spin_unlock_bh(&hardif_neigh->if_incoming->neigh_list_lock);
hlist_del_init_rcu(&hardif_neigh->list);
spin_unlock_bh(&hardif_neigh->if_incoming->neigh_list_lock);
- batadv_hardif_free_ref(hardif_neigh->if_incoming);
+ batadv_hardif_put(hardif_neigh->if_incoming);
kfree_rcu(hardif_neigh, rcu);
}
kfree_rcu(hardif_neigh, rcu);
}
if (bao->bat_neigh_free)
bao->bat_neigh_free(neigh_node);
if (bao->bat_neigh_free)
bao->bat_neigh_free(neigh_node);
- batadv_hardif_free_ref(neigh_node->if_incoming);
+ batadv_hardif_put(neigh_node->if_incoming);
kfree_rcu(neigh_node, rcu);
}
kfree_rcu(neigh_node, rcu);
}
hardif_neigh = kzalloc(sizeof(*hardif_neigh), GFP_ATOMIC);
if (!hardif_neigh) {
hardif_neigh = kzalloc(sizeof(*hardif_neigh), GFP_ATOMIC);
if (!hardif_neigh) {
- batadv_hardif_free_ref(hard_iface);
+ batadv_hardif_put(hard_iface);
primary_if->net_dev->dev_addr, net_dev->name,
bat_priv->bat_algo_ops->name);
primary_if->net_dev->dev_addr, net_dev->name,
bat_priv->bat_algo_ops->name);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
if (!bat_priv->bat_algo_ops->bat_neigh_print) {
seq_puts(seq,
if (!bat_priv->bat_algo_ops->bat_neigh_print) {
seq_puts(seq,
orig_ifinfo = container_of(ref, struct batadv_orig_ifinfo, refcount);
if (orig_ifinfo->if_outgoing != BATADV_IF_DEFAULT)
orig_ifinfo = container_of(ref, struct batadv_orig_ifinfo, refcount);
if (orig_ifinfo->if_outgoing != BATADV_IF_DEFAULT)
- batadv_hardif_free_ref(orig_ifinfo->if_outgoing);
+ batadv_hardif_put(orig_ifinfo->if_outgoing);
/* this is the last reference to this object */
router = rcu_dereference_protected(orig_ifinfo->router, true);
/* this is the last reference to this object */
router = rcu_dereference_protected(orig_ifinfo->router, true);
primary_if->net_dev->dev_addr, net_dev->name,
bat_priv->bat_algo_ops->name);
primary_if->net_dev->dev_addr, net_dev->name,
bat_priv->bat_algo_ops->name);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
if (!bat_priv->bat_algo_ops->bat_orig_print) {
seq_puts(seq,
if (!bat_priv->bat_algo_ops->bat_orig_print) {
seq_puts(seq,
- batadv_hardif_free_ref(hard_iface);
+ batadv_hardif_put(hard_iface);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
if (orig_node)
batadv_orig_node_put(orig_node);
return ret;
if (orig_node)
batadv_orig_node_put(orig_node);
return ret;
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
if (orig_node)
batadv_orig_node_put(orig_node);
return ret;
if (orig_node)
batadv_orig_node_put(orig_node);
return ret;
ret = true;
out:
if (primary_if)
ret = true;
out:
if (primary_if)
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
if (orig_node)
batadv_orig_node_put(orig_node);
if (orig_node)
batadv_orig_node_put(orig_node);
ether_addr_copy(unicast_packet->dest, primary_if->net_dev->dev_addr);
ether_addr_copy(unicast_packet->dest, primary_if->net_dev->dev_addr);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
unicast_packet->ttvn = curr_ttvn;
unicast_packet->ttvn = curr_ttvn;
ret = true;
out:
if (primary_if)
ret = true;
out:
if (primary_if)
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
{
kfree_skb(forw_packet->skb);
if (forw_packet->if_incoming)
{
kfree_skb(forw_packet->skb);
if (forw_packet->if_incoming)
- batadv_hardif_free_ref(forw_packet->if_incoming);
+ batadv_hardif_put(forw_packet->if_incoming);
if (forw_packet->if_outgoing)
if (forw_packet->if_outgoing)
- batadv_hardif_free_ref(forw_packet->if_outgoing);
+ batadv_hardif_put(forw_packet->if_outgoing);
atomic_inc(&bat_priv->bcast_queue_left);
out:
if (primary_if)
atomic_inc(&bat_priv->bcast_queue_left);
out:
if (primary_if)
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
batadv_inc_counter(bat_priv, BATADV_CNT_TX_DROPPED);
end:
if (primary_if)
batadv_inc_counter(bat_priv, BATADV_CNT_TX_DROPPED);
end:
if (primary_if)
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
- batadv_hardif_free_ref(hard_iface);
+ batadv_hardif_put(hard_iface);
- batadv_hardif_free_ref(hard_iface);
+ batadv_hardif_put(hard_iface);
length = sprintf(buff, "%s\n", ifname);
length = sprintf(buff, "%s\n", ifname);
- batadv_hardif_free_ref(hard_iface);
+ batadv_hardif_put(hard_iface);
if (strlen(buff) >= IFNAMSIZ) {
pr_err("Invalid parameter for 'mesh_iface' setting received: interface name too long '%s'\n",
buff);
if (strlen(buff) >= IFNAMSIZ) {
pr_err("Invalid parameter for 'mesh_iface' setting received: interface name too long '%s'\n",
buff);
- batadv_hardif_free_ref(hard_iface);
+ batadv_hardif_put(hard_iface);
unlock:
rtnl_unlock();
out:
unlock:
rtnl_unlock();
out:
- batadv_hardif_free_ref(hard_iface);
+ batadv_hardif_put(hard_iface);
- batadv_hardif_free_ref(hard_iface);
+ batadv_hardif_put(hard_iface);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
if (ret && tt_req_node) {
spin_lock_bh(&bat_priv->tt.req_list_lock);
/* hlist_del_init() verifies tt_req_node still is in the list */
if (ret && tt_req_node) {
spin_lock_bh(&bat_priv->tt.req_list_lock);
/* hlist_del_init() verifies tt_req_node still is in the list */
if (orig_node)
batadv_orig_node_put(orig_node);
if (primary_if)
if (orig_node)
batadv_orig_node_put(orig_node);
if (primary_if)
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
kfree(tvlv_tt_data);
/* The packet was for this host, so it doesn't need to be re-routed */
return true;
kfree(tvlv_tt_data);
/* The packet was for this host, so it doesn't need to be re-routed */
return true;
- batadv_hardif_free_ref(primary_if);
+ batadv_hardif_put(primary_if);
}
static void batadv_tt_purge(struct work_struct *work)
}
static void batadv_tt_purge(struct work_struct *work)