]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
batman-adv: fix for leaked TVLV handler.
authorJeremy Sowden <jeremy@azazel.net>
Tue, 21 May 2019 19:58:57 +0000 (20:58 +0100)
committerSimon Wunderlich <sw@simonwunderlich.de>
Tue, 21 May 2019 21:01:24 +0000 (23:01 +0200)
A handler for BATADV_TVLV_ROAM was being registered when the
translation-table was initialized, but not unregistered when the
translation-table was freed.  Unregister it.

Fixes: 122edaa05940 ("batman-adv: tvlv - convert roaming adv packet to use tvlv unicast packets")
Reported-by: syzbot+d454a826e670502484b8@syzkaller.appspotmail.com
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
Signed-off-by: Sven Eckelmann <sven@narfation.org
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
net/batman-adv/translation-table.c

index 1ddfd5e011eecb807d7bb9192ff012a8ed1f923e..8a482c5ec67bb22167bca02b4181252045e3b605 100644 (file)
@@ -3813,6 +3813,8 @@ static void batadv_tt_purge(struct work_struct *work)
  */
 void batadv_tt_free(struct batadv_priv *bat_priv)
 {
+       batadv_tvlv_handler_unregister(bat_priv, BATADV_TVLV_ROAM, 1);
+
        batadv_tvlv_container_unregister(bat_priv, BATADV_TVLV_TT, 1);
        batadv_tvlv_handler_unregister(bat_priv, BATADV_TVLV_TT, 1);