Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit baceced9 authored by Ben Hutchings's avatar Ben Hutchings Committed by David S. Miller
Browse files

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: a33d970d ("batman-adv: Fix reference counting of vlan object for tt_local_entry")
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
Signed-off-by: default avatarMarek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9c4604a2
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -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;
	}
	}