batman-adv: Fix double-put of vlan object
authorBen Hutchings <ben@decadent.org.uk>
Sun, 26 Jun 2016 09:16:11 +0000 (11:16 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 29 Jun 2016 08:01:47 +0000 (04:01 -0400)
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: a33d970d0b54 ("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>
net/batman-adv/translation-table.c

index cfb5ccdfd62b8f4e1154aa0bc6a03e8654190608..57ec87f37050d98faefc37e989024a572d26b421 100644 (file)
@@ -693,7 +693,6 @@ bool batadv_tt_local_add(struct net_device *soft_iface, const u8 *addr,
        if (unlikely(hash_added != 0)) {
                /* remove the reference for the hash */
                batadv_tt_local_entry_put(tt_local);
-               batadv_softif_vlan_put(vlan);
                goto out;
        }