Search Linux Wireless

Re: [PATCH] cfg80211: Validate legacy rateset.

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

 



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@xxxxxxxxxxxxxxxx>
---
  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.

johannes

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. "sudo iw wlan0 set bitrates legacy-2.4 3" fails with error (command failed: Invalid argument (-22))

Without this patch
"sudo iw wlan0 set bitrates legacy-2.4 3" executes without any error message

Regards,
Bala.
--
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 Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux