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