summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntonio Quartulli <ordex@autistici.org>2012-06-25 22:49:51 +0200
committerDavid S. Miller <davem@davemloft.net>2012-06-26 08:54:32 +0200
commit29cb99de4dafc53f75389bbe0173af4385a2ed1d (patch)
tree75b72390d597e9da159e4f9cd94b90a560e0854e
parentbatman-adv: fix condition in AP isolation (diff)
downloadlinux-29cb99de4dafc53f75389bbe0173af4385a2ed1d.tar.xz
linux-29cb99de4dafc53f75389bbe0173af4385a2ed1d.zip
batman-adv: fix global TT entry deletion
During the last merge involving translation-table.c something went wrong and two lines disappeared from translation-table.c. This patch recovers them. Signed-off-by: Antonio Quartulli <ordex@autistici.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/batman-adv/translation-table.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index e4f27a872c9c..c673b58f3ee1 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -149,6 +149,8 @@ static void batadv_tt_orig_list_entry_free_rcu(struct rcu_head *rcu)
static void
batadv_tt_orig_list_entry_free_ref(struct tt_orig_list_entry *orig_entry)
{
+ /* to avoid race conditions, immediately decrease the tt counter */
+ atomic_dec(&orig_entry->orig_node->tt_size);
call_rcu(&orig_entry->rcu, batadv_tt_orig_list_entry_free_rcu);
}