Commit 5194ee82 authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by John W. Linville

mac80211: Fix one more call to synchronize_rcu in atomic context.

(This set applies OK without the previous one of 4 patches,
 but with some fuzz in the 7th one)

The mesh_path_node_free() does so under hashwlock.

But, this one is called
1. from mesh_path_add() after an old hash is hidden and
   synchronize_rcu() is calld
2. mesh_pathtbl_unregister(), when the module is being
   unloaded and no devices exist to mess with this hash.

So, it seems to me, that simply removing the call is OK.
Signed-off-by: default avatarPavel Emelyanov <xemul@openvz.org>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 402d7752
...@@ -458,7 +458,6 @@ static void mesh_path_node_free(struct hlist_node *p, bool free_leafs) ...@@ -458,7 +458,6 @@ static void mesh_path_node_free(struct hlist_node *p, bool free_leafs)
struct mpath_node *node = hlist_entry(p, struct mpath_node, list); struct mpath_node *node = hlist_entry(p, struct mpath_node, list);
mpath = node->mpath; mpath = node->mpath;
hlist_del_rcu(p); hlist_del_rcu(p);
synchronize_rcu();
if (free_leafs) if (free_leafs)
kfree(mpath); kfree(mpath);
kfree(node); kfree(node);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment