]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
batman-adv: Remove uninitialized data in full table TT response
authorRemi Pommarel <repk@triplefau.lt>
Fri, 22 Nov 2024 15:52:49 +0000 (16:52 +0100)
committerSimon Wunderlich <sw@simonwunderlich.de>
Thu, 5 Dec 2024 21:38:26 +0000 (22:38 +0100)
commit8038806db64da15721775d6b834990cacbfcf0b2
tree5d0ae0b8764385fb6b5a50e6f557226a2867d4e6
parentf2f7358c3890e7366cbcb7512b4bc8b4394b2d61
batman-adv: Remove uninitialized data in full table TT response

The number of entries filled by batadv_tt_tvlv_generate() can be less
than initially expected in batadv_tt_prepare_tvlv_{global,local}_data()
(changes can be removed by batadv_tt_local_event() in ADD+DEL sequence
in the meantime as the lock held during the whole tvlv global/local data
generation).

Thus tvlv_len could be bigger than the actual TT entry size that need
to be sent so full table TT_RESPONSE could hold invalid TT entries such
as below.

 * 00:00:00:00:00:00   -1 [....] (  0) 88:12:4e:ad:7e:ba (179) (0x45845380)
 * 00:00:00:00:78:79 4092 [.W..] (  0) 88:12:4e:ad:7e:3c (145) (0x8ebadb8b)

Remove the extra allocated space to avoid sending uninitialized entries
for full table TT_RESPONSE in both batadv_send_other_tt_response() and
batadv_send_my_tt_response().

Fixes: 7ea7b4a14275 ("batman-adv: make the TT CRC logic VLAN specific")
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
net/batman-adv/translation-table.c