batman-adv: Fix double-put of vlan object
Each batadv_tt_local_entry hold a single reference to a
batadv_softif_vlan. In case a new entry cannot be added to the hash
table, the error path puts the reference, but the reference will also
now be dropped by batadv_tt_local_entry_release().
Fixes: a33d970d0b
("batman-adv: Fix reference counting of vlan object for tt_local_entry")
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9c4604a298
commit
baceced932
|
@ -693,7 +693,6 @@ bool batadv_tt_local_add(struct net_device *soft_iface, const u8 *addr,
|
||||||
if (unlikely(hash_added != 0)) {
|
if (unlikely(hash_added != 0)) {
|
||||||
/* remove the reference for the hash */
|
/* remove the reference for the hash */
|
||||||
batadv_tt_local_entry_put(tt_local);
|
batadv_tt_local_entry_put(tt_local);
|
||||||
batadv_softif_vlan_put(vlan);
|
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue