On 17/06/15 14:36, Antonio Quartulli wrote: > On 17/06/15 14:09, Marek Lindner wrote: >> The tt_local_entry deletion performed 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() with batadv_hash_remove() provides adequate >> protection via hash spinlocks as well as a is-element-still-in-hash check. >> >> Reported-by: alfonsname@web.de >> Signed-off-by: Marek Lindner > > Acked-by: Antonio Quartulli > I was just going through your other TT patch and I realized that if the element can't be find in the list (because it was already removed) we should skip the batadv_softif_vlan_free_ref() below because the reference has already been decreased by whom already removed the TT entry. Cheers, -- Antonio Quartulli