Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -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);