Skip to content

Commit

Permalink
Revert "genetlink: fix family dump race"
Browse files Browse the repository at this point in the history
This reverts commit 58ad436.

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: Johannes Berg <[email protected]>
Acked-by: Pravin B Shelar <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
jmberg-intel authored and davem330 committed Aug 22, 2013
1 parent e75dc67 commit 9d47b38
Showing 1 changed file with 0 additions and 7 deletions.
7 changes: 0 additions & 7 deletions net/netlink/genetlink.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}

Expand Down

0 comments on commit 9d47b38

Please sign in to comment.