From 2f4dbd292cdc08fde742c9408f938a2403dea07f Mon Sep 17 00:00:00 2001 From: Antonio Quartulli Date: Mon, 25 Jun 2012 20:49:51 +0000 Subject: [PATCH] --- yaml --- r: 314622 b: refs/heads/master c: 29cb99de4dafc53f75389bbe0173af4385a2ed1d h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/batman-adv/translation-table.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 7783ebabac0a..3013d4ae62e2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1f129fefd35842bcd450db02b6c63f958384b1b3 +refs/heads/master: 29cb99de4dafc53f75389bbe0173af4385a2ed1d diff --git a/trunk/net/batman-adv/translation-table.c b/trunk/net/batman-adv/translation-table.c index e4f27a872c9c..c673b58f3ee1 100644 --- a/trunk/net/batman-adv/translation-table.c +++ b/trunk/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); }