From: Johannes Berg <johannes@sipsolutions.net>
To: Bala Shanmugam <bkamatch@qca.qualcomm.com>
Cc: linville@tuxdriver.com, linux-wireless@vger.kernel.org
Subject: Re: [PATCH] cfg80211: Validate legacy rateset.
Date: Wed, 18 Apr 2012 07:25:56 -0700 [thread overview]
Message-ID: <4F8ECEF4.4010507@sipsolutions.net> (raw)
In-Reply-To: <4F8E592B.6010104@qca.qualcomm.com>
On 4/17/2012 11:03 PM, Bala Shanmugam wrote:
> On 04/17/2012 07:29 PM, Johannes Berg wrote:
>> On 4/17/2012 1:07 AM, Bala Shanmugam wrote:
>>> On 04/16/2012 11:01 PM, Johannes Berg wrote:
>>>> On 4/12/2012 11:22 PM, Bala Shanmugam wrote:
>>>>> Legacy rates are not validated while configuring
>>>>> tx rateset using iw. So below cmd is accepted by nl80211.
>>>>> sudo iw wlan2 set bitrates legacy-2.4 3
>>>>>
>>>>> Validate legacy rates and return
>>>>> error while configuring improper rates.
>>>>>
>>>>> Signed-off-by: Bala Shanmugam<bkamatch@qca.qualcomm.com>
>>>>> ---
>>>>> net/wireless/nl80211.c | 2 ++
>>>>> 1 files changed, 2 insertions(+), 0 deletions(-)
>>>>>
>>>>> diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
>>>>> index e49da27..cc7bef7 100644
>>>>> --- a/net/wireless/nl80211.c
>>>>> +++ b/net/wireless/nl80211.c
>>>>> @@ -5540,6 +5540,8 @@ static int nl80211_set_tx_bitrate_mask(struct
>>>>> sk_buff *skb,
>>>>> sband,
>>>>> nla_data(tb[NL80211_TXRATE_LEGACY]),
>>>>> nla_len(tb[NL80211_TXRATE_LEGACY]));
>>>>> + if (mask.control[band].legacy == 0)
>>>>> + return -EINVAL;
>>>>
>>>> I don't think this is right since it would also reject an
>>>> intentionally empty set.
>>
>>> This check comes into picture only when legacy rates are configured.
>>> For intentionally empty set "if (tb[NL80211_TXRATE_LEGACY])" condition
>>> will fail and control will not come here. I tested the same.
>>> With this patch
>>> "sudo iw wlan0 set bitrates mcs-5 6" executes without any error message.
>>
>> However, that means "don't change legacy settings", not "empty legacy
>> rateset".
>>
>> johannes
> Good catch.
> I didn't think of below configuration which is to specify empty legacy
> rateset for 2.4 band.
> sudo iw wlan0 set bitrates legacy-2.4
> Correct me if I am wrong.
>
> Anyway we need to reject invalid legacy rates and below additional check
> will allow empty rateset
> and block invalid rates
> if (mask.control[band].legacy == 0 && nla_len(tb[NL80211_TXRATE_LEGACY]))
> return -EINVAL;
But then you can still say
sudo iw wlan0 set bitrates legacy-2.4 1 2 3 4
and have it be accepted which is wrong as well.
You really should verify every single rate.
johannes
next prev parent reply other threads:[~2012-04-18 14:26 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-13 6:22 [PATCH] cfg80211: Validate legacy rateset Bala Shanmugam
2012-04-16 17:31 ` Johannes Berg
2012-04-17 8:07 ` Bala Shanmugam
2012-04-17 13:59 ` Johannes Berg
2012-04-18 6:03 ` Bala Shanmugam
2012-04-18 14:25 ` Johannes Berg [this message]
2012-04-19 14:43 ` Bala Shanmugam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F8ECEF4.4010507@sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=bkamatch@qca.qualcomm.com \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.