• Sven Eckelmann's avatar
    batman-adv: Avoid free/alloc race when handling OGM2 buffer · a8d23cbb
    Sven Eckelmann authored
    A B.A.T.M.A.N. V virtual interface has an OGM2 packet buffer which is
    initialized using data from the netdevice notifier and other rtnetlink
    related hooks. It is sent regularly via various slave interfaces of the
    batadv virtual interface and in this process also modified (realloced) to
    integrate additional state information via TVLV containers.
    
    It must be avoided that the worker item is executed without a common lock
    with the netdevice notifier/rtnetlink helpers. Otherwise it can either
    happen that half modified data is sent out or the functions modifying the
    OGM2 buffer try to access already freed memory regions.
    
    Fixes: 0da00359 ("batman-adv: OGMv2 - add basic infrastructure")
    Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
    Signed-off-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
    a8d23cbb
bat_v_ogm.c 32.7 KB