Search Linux Wireless

[PATCH] nl80211: Avoid AP mode BUG_ON hang with invalid lock assert

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2b1d3f8fbd188d84713d25e9d1c3126e3852a1b3 added assert_cfg80211_lock()
calls into various places. At least one of them, nl80211_send_wiphy(),
should not have been there. That triggers the BUG_ON in
assert_cfg80211_lock() and pretty much kills the kernel whenever
someone runs hostapd.. Remove that call and make assert_cfg80211_lock()
use WARN_ON instead of BUG_ON to be a bit more friendly to users.

Signed-off-by: Jouni Malinen <jouni.malinen@xxxxxxxxxxx>
Acked-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>

---
 net/wireless/core.h    |    2 +-
 net/wireless/nl80211.c |    2 --
 2 files changed, 1 insertion(+), 3 deletions(-)

--- wireless-testing.orig/net/wireless/core.h	2009-02-24 16:32:53.000000000 +0200
+++ wireless-testing/net/wireless/core.h	2009-02-24 16:33:18.000000000 +0200
@@ -76,7 +76,7 @@ extern struct list_head cfg80211_drv_lis
 
 static inline void assert_cfg80211_lock(void)
 {
-	BUG_ON(!mutex_is_locked(&cfg80211_mutex));
+	WARN_ON(!mutex_is_locked(&cfg80211_mutex));
 }
 
 /*
--- wireless-testing.orig/net/wireless/nl80211.c	2009-02-24 16:33:57.000000000 +0200
+++ wireless-testing/net/wireless/nl80211.c	2009-02-24 16:34:28.000000000 +0200
@@ -158,8 +158,6 @@ static int nl80211_send_wiphy(struct sk_
 	int i;
 	u16 ifmodes = dev->wiphy.interface_modes;
 
-	assert_cfg80211_lock();
-
 	hdr = nl80211hdr_put(msg, pid, seq, flags, NL80211_CMD_NEW_WIPHY);
 	if (!hdr)
 		return -1;

-- 
Jouni Malinen                                            PGP id EFC895FA
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux