Search Linux Wireless

Re: [PATCH 04/10] nl80211: disallow user requests prior to regulatory_init()

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

 



On Sun, Feb 15, 2009 at 2:58 AM, Johannes Berg
<johannes@xxxxxxxxxxxxxxxx> wrote:
> On Fri, 2009-02-13 at 21:33 -0800, Luis R. Rodriguez wrote:
>> If cfg80211 is built into the kernel there is perhaps a small
>> time window betwen nl80211_init() and regulatory_init() where
>> cfg80211_regdomain hasn't yet been initialized to let the
>> wireless core do its work. During that rare case and time
>> frame (if its even possible) we don't allow user regulatory
>> changes as cfg80211 is working on enabling its first regulatory
>> domain.
>>
>> Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx>
>> ---
>>  net/wireless/nl80211.c |    9 +++++++++
>>  1 files changed, 9 insertions(+), 0 deletions(-)
>>
>> diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
>> index db973f2..6f4dedb 100644
>> --- a/net/wireless/nl80211.c
>> +++ b/net/wireless/nl80211.c
>> @@ -1876,6 +1876,15 @@ static int nl80211_req_set_reg(struct sk_buff *skb, struct genl_info *info)
>>       int r;
>>       char *data = NULL;
>>
>> +     /*
>> +      * You should only get this when cfg80211 hasn't yet initialized
>> +      * completely when built-in to the kernel right between the time
>> +      * window between nl80211_init() and regulatory_init(), if that is
>> +      * even possible.
>> +      */
>> +     if (!cfg80211_regdomain)
>> +             return -EINPROGRESS;
>> +
>
> But that variable access here is racy too.

Right.

> It might be ok anyway because
> the variable can never be NULL again after the first assignment

That's what I was going for.

>  but in
> that case the assignment needs to take care to assign something fully
> created ...

Can you elaborate on what you mean?

  Luis
--
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