From: Bala Shanmugam <bkamatch@qca.qualcomm.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: <linville@tuxdriver.com>, <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH] cfg80211: Validate legacy rateset.
Date: Wed, 18 Apr 2012 11:33:23 +0530 [thread overview]
Message-ID: <4F8E592B.6010104@qca.qualcomm.com> (raw)
In-Reply-To: <4F8D7758.6040304@sipsolutions.net>
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;
Will send new patch.
Regards,
Bala.
next prev parent reply other threads:[~2012-04-18 6:03 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 [this message]
2012-04-18 14:25 ` Johannes Berg
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=4F8E592B.6010104@qca.qualcomm.com \
--to=bkamatch@qca.qualcomm.com \
--cc=johannes@sipsolutions.net \
--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.