diff options
author | Marek Lindner <lindner_marek@yahoo.de> | 2011-01-19 15:01:40 -0500 |
---|---|---|
committer | Marek Lindner <lindner_marek@yahoo.de> | 2011-03-05 06:49:58 -0500 |
commit | fb778ea173fcd58b8fc3d75c674f07fab187b55f (patch) | |
tree | b14cfc99b7ca61ddcb49cc56c9a8e2822675debc /net/batman-adv/unicast.c | |
parent | a775eb847ae66211577d4fd2c46749b77c9993c9 (diff) |
batman-adv: protect each hash row with rcu locks
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Diffstat (limited to 'net/batman-adv/unicast.c')
-rw-r--r-- | net/batman-adv/unicast.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/batman-adv/unicast.c b/net/batman-adv/unicast.c index 1b5e761d8823..4687027f1495 100644 --- a/net/batman-adv/unicast.c +++ b/net/batman-adv/unicast.c | |||
@@ -179,9 +179,11 @@ int frag_reassemble_skb(struct sk_buff *skb, struct bat_priv *bat_priv, | |||
179 | 179 | ||
180 | *new_skb = NULL; | 180 | *new_skb = NULL; |
181 | spin_lock_bh(&bat_priv->orig_hash_lock); | 181 | spin_lock_bh(&bat_priv->orig_hash_lock); |
182 | rcu_read_lock(); | ||
182 | orig_node = ((struct orig_node *) | 183 | orig_node = ((struct orig_node *) |
183 | hash_find(bat_priv->orig_hash, compare_orig, choose_orig, | 184 | hash_find(bat_priv->orig_hash, compare_orig, choose_orig, |
184 | unicast_packet->orig)); | 185 | unicast_packet->orig)); |
186 | rcu_read_unlock(); | ||
185 | 187 | ||
186 | if (!orig_node) { | 188 | if (!orig_node) { |
187 | pr_debug("couldn't find originator in orig_hash\n"); | 189 | pr_debug("couldn't find originator in orig_hash\n"); |