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

Commit 9d47b380 authored by Johannes Berg's avatar Johannes Berg Committed by David S. Miller
Browse files

Revert "genetlink: fix family dump race"



This reverts commit 58ad436f.

It turns out that the change introduced a potential deadlock
by causing a locking dependency with netlink's cb_mutex. I
can't seem to find a way to resolve this without doing major
changes to the locking, so revert this.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Acked-by: default avatarPravin B Shelar <pshelar@nicira.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e75dc677
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -789,10 +789,6 @@ static int ctrl_dumpfamily(struct sk_buff *skb, struct netlink_callback *cb)
	struct net *net = sock_net(skb->sk);
	int chains_to_skip = cb->args[0];
	int fams_to_skip = cb->args[1];
	bool need_locking = chains_to_skip || fams_to_skip;

	if (need_locking)
		genl_lock();

	for (i = chains_to_skip; i < GENL_FAM_TAB_SIZE; i++) {
		n = 0;
@@ -814,9 +810,6 @@ static int ctrl_dumpfamily(struct sk_buff *skb, struct netlink_callback *cb)
	cb->args[0] = i;
	cb->args[1] = n;

	if (need_locking)
		genl_unlock();

	return skb->len;
}