batman-adv: Make DAT capability changes atomic
authorLinus Lüssing <[email protected]>
Tue, 16 Jun 2015 15:10:22 +0000 (17:10 +0200)
committerAntonio Quartulli <[email protected]>
Fri, 14 Aug 2015 20:50:42 +0000 (22:50 +0200)
commit65d7d46050704bcdb8121ddbf4110bfbf2b38baa
treee23f7284cf9b76d6b6cb8ea91b51ccd6b08bbfce
parent571a963768e7711e0bb5a30f71247b46ec9ca7b9
batman-adv: Make DAT capability changes atomic

Bitwise OR/AND assignments in C aren't guaranteed to be atomic. One
OGM handler might undo the set/clear of a specific bit from another
handler run in between.

Fix this by using the atomic set_bit()/clear_bit()/test_bit() functions.

Fixes: 17cf0ea455f1 ("batman-adv: tvlv - add distributed arp table container")
Signed-off-by: Linus Lüssing <[email protected]>
Signed-off-by: Marek Lindner <[email protected]>
Signed-off-by: Antonio Quartulli <[email protected]>
net/batman-adv/distributed-arp-table.c
net/batman-adv/types.h