diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-08-21 14:08:02 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-08-22 20:24:02 (GMT) |
commit | 9d47b380563174e5c15776ce6ca9bab4ee7d59e3 (patch) | |
tree | c88dbe342a7ece90aab4341cb7b8112293e86689 /net | |
parent | e75dc677ff8d06ffa61bef6fee436227ae5440c6 (diff) | |
download | linux-9d47b380563174e5c15776ce6ca9bab4ee7d59e3.tar.xz |
Revert "genetlink: fix family dump race"
This reverts commit 58ad436fcf49810aa006016107f494c9ac9013db.
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 <johannes.berg@intel.com>
Acked-by: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/netlink/genetlink.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c index f85f8a2..512718a 100644 --- a/net/netlink/genetlink.c +++ b/net/netlink/genetlink.c @@ -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 @@ errout: cb->args[0] = i; cb->args[1] = n; - if (need_locking) - genl_unlock(); - return skb->len; } |