ca15876bc016010f33ea4ac7788b423fb71a49b7
[feed/routing.git] / batman-adv / patches / 0065-batman-adv-fix-for-leaked-TVLV-handler.patch
1 From: Jeremy Sowden <jeremy@azazel.net>
2 Date: Tue, 21 May 2019 20:58:57 +0100
3 Subject: batman-adv: fix for leaked TVLV handler.
4
5 A handler for BATADV_TVLV_ROAM was being registered when the
6 translation-table was initialized, but not unregistered when the
7 translation-table was freed. Unregister it.
8
9 Fixes: 3de4e64df0f1 ("batman-adv: tvlv - convert roaming adv packet to use tvlv unicast packets")
10 Reported-by: syzbot+d454a826e670502484b8@syzkaller.appspotmail.com
11 Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
12 Signed-off-by: Sven Eckelmann <sven@narfation.org
13
14 Origin: upstream, https://git.open-mesh.org/batman-adv.git/commit/87445d81c360a5f9833546114e98ffd2c1fd3a4d
15
16 diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
17 index a1b83416be842810f4ca49212c3afb91c598a64b..4aa2d24639ab5f69dc956990016aaabd5ceef4d9 100644
18 --- a/net/batman-adv/translation-table.c
19 +++ b/net/batman-adv/translation-table.c
20 @@ -3800,6 +3800,8 @@ static void batadv_tt_purge(struct work_struct *work)
21
22 void batadv_tt_free(struct batadv_priv *bat_priv)
23 {
24 + batadv_tvlv_handler_unregister(bat_priv, BATADV_TVLV_ROAM, 1);
25 +
26 batadv_tvlv_container_unregister(bat_priv, BATADV_TVLV_TT, 1);
27 batadv_tvlv_handler_unregister(bat_priv, BATADV_TVLV_TT, 1);
28