[net,v2] batman-adv: fix for leaked TVLV handler.

Message ID 20190524095927.31817-1-jeremy@azazel.net (mailing list archive)
State Accepted, archived
Delegated to: Simon Wunderlich
Headers
Series [net,v2] batman-adv: fix for leaked TVLV handler. |

Commit Message

Jeremy Sowden May 24, 2019, 9:59 a.m. UTC
  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
Reviewed-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
---
Since v1.

  * Added "Fixes:" tag.
  * Added "Reviewed-by:" tag.
  * Changed prefix to "batman-adv:".

 net/batman-adv/translation-table.c | 2 ++
 1 file changed, 2 insertions(+)
  

Patch

diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index 1ddfd5e011ee..8a482c5ec67b 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -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);