2012-07-18 12:41:37

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: [PATCH] cfg80211: Fix mutex locking in reg_last_request_cell_base

From: Mohammed Shafi Shajakhan <[email protected]>

should fix the following issue

[ 3229.815012] [ BUG: lock held when returning to user space! ]
[ 3229.815016] 3.5.0-rc7-wl #28 Tainted: G W O
[ 3229.815017]
------------------------------------------------
[ 3229.815019] wpa_supplicant/5783 is leaving the kernel with locks still held!
[ 3229.815022] 1 lock held by wpa_supplicant/5783:
[ 3229.815023] #0: (reg_mutex){+.+.+.}, at: [<fa65834d>]
reg_last_request_cell_base+0x1d/0x60 [cfg80211]

Cc: Luis Rodriguez <[email protected]>
Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
---
net/wireless/reg.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index dbb01df..2303ee7 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -929,11 +929,13 @@ static bool reg_request_cell_base(struct regulatory_request *request)

bool reg_last_request_cell_base(void)
{
+ bool val;
assert_cfg80211_lock();

mutex_lock(&reg_mutex);
- return reg_request_cell_base(last_request);
+ val = reg_request_cell_base(last_request);
mutex_unlock(&reg_mutex);
+ return val;
}

#ifdef CONFIG_CFG80211_CERTIFICATION_ONUS
--
1.7.0.4



2012-07-18 15:20:53

by Mohammed Shafi

[permalink] [raw]
Subject: Re: [PATCH] cfg80211: Fix mutex locking in reg_last_request_cell_base

Hi Luca,

On Wed, Jul 18, 2012 at 8:16 PM, Luciano Coelho <[email protected]> wrote:
> On Wed, 2012-07-18 at 18:11 +0530, Mohammed Shafi Shajakhan wrote:
>> From: Mohammed Shafi Shajakhan <[email protected]>
>>
>> should fix the following issue
>>
>> [ 3229.815012] [ BUG: lock held when returning to user space! ]
>> [ 3229.815016] 3.5.0-rc7-wl #28 Tainted: G W O
>> [ 3229.815017]
>> ------------------------------------------------
>> [ 3229.815019] wpa_supplicant/5783 is leaving the kernel with locks still held!
>> [ 3229.815022] 1 lock held by wpa_supplicant/5783:
>> [ 3229.815023] #0: (reg_mutex){+.+.+.}, at: [<fa65834d>]
>> reg_last_request_cell_base+0x1d/0x60 [cfg80211]
>>
>> Cc: Luis Rodriguez <[email protected]>
>> Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
>> ---
>
> Tested-by: Luciano Coelho <[email protected]>
>
> This actually also fixes a similar circular lock dependency bug when
> starting AP mode with hostapd (which is the case I tested this patch
> on): http://pastebin.com/AVczE1Ej

thanks !

>
> --
> Luca.
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html



--
thanks,
shafi

2012-07-18 15:04:27

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] cfg80211: Fix mutex locking in reg_last_request_cell_base

On Wed, 2012-07-18 at 18:11 +0530, Mohammed Shafi Shajakhan wrote:
> From: Mohammed Shafi Shajakhan <[email protected]>
>
> should fix the following issue
>
> [ 3229.815012] [ BUG: lock held when returning to user space! ]
> [ 3229.815016] 3.5.0-rc7-wl #28 Tainted: G W O
> [ 3229.815017]
> ------------------------------------------------
> [ 3229.815019] wpa_supplicant/5783 is leaving the kernel with locks still held!
> [ 3229.815022] 1 lock held by wpa_supplicant/5783:
> [ 3229.815023] #0: (reg_mutex){+.+.+.}, at: [<fa65834d>]
> reg_last_request_cell_base+0x1d/0x60 [cfg80211]
>
> Cc: Luis Rodriguez <[email protected]>
> Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>

Applied, thanks

johannes


2012-07-18 14:46:10

by Luciano Coelho

[permalink] [raw]
Subject: Re: [PATCH] cfg80211: Fix mutex locking in reg_last_request_cell_base

On Wed, 2012-07-18 at 18:11 +0530, Mohammed Shafi Shajakhan wrote:
> From: Mohammed Shafi Shajakhan <[email protected]>
>
> should fix the following issue
>
> [ 3229.815012] [ BUG: lock held when returning to user space! ]
> [ 3229.815016] 3.5.0-rc7-wl #28 Tainted: G W O
> [ 3229.815017]
> ------------------------------------------------
> [ 3229.815019] wpa_supplicant/5783 is leaving the kernel with locks still held!
> [ 3229.815022] 1 lock held by wpa_supplicant/5783:
> [ 3229.815023] #0: (reg_mutex){+.+.+.}, at: [<fa65834d>]
> reg_last_request_cell_base+0x1d/0x60 [cfg80211]
>
> Cc: Luis Rodriguez <[email protected]>
> Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
> ---

Tested-by: Luciano Coelho <[email protected]>

This actually also fixes a similar circular lock dependency bug when
starting AP mode with hostapd (which is the case I tested this patch
on): http://pastebin.com/AVczE1Ej

--
Luca.