On 17/06/15 18:00, Marek Lindner wrote:
The tt_local_entry deletion performed in batadv_tt_local_remove() was neither protecting against simultaneous deletes nor checking whether the element was still part of the list before calling hlist_del_rcu().
Replacing the hlist_del_rcu() call with batadv_hash_remove() provides adequate protection via hash spinlocks as well as an is-element-still-in-hash check to avoid 'blind' hash removal.
Reported-by: alfonsname@web.de Signed-off-by: Marek Lindner mareklindner@neomailbox.ch
Acked-by: Antonio Quartulli antonio@meshcoding.com