summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMukul Sharma <mukul@qti.qualcomm.com>2015-10-27 23:51:02 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2015-10-28 16:04:00 +0530
commit6642bccf3ed8cba176dee7d4bbc21fc4580efb7b (patch)
tree9ca659c59413166aab5214063543e0afbd08ad83
parentbe62ecde85228b91c66fb047e27d25132f56bd0d (diff)
wlan:Check priviledge permission for SET_BAND_CONFIG IOCTL
Kernel assumes all SET IOCTL commands are assigned with even numbers. But in our WLAN driver, some SET IOCTLS are assigned with odd numbers. This leads kernel fail to check, for some SET IOCTLs, whether user has the right permission to do SET operation. Hence, in driver, before processing SET_BAND_CONFIG IOCTL, making sure user task has right permission to process the command. Change-Id: Ie8a36bfa07a7b21601364b27b3c4bc888a6a5b4e CRs-Fixed: 930952
-rw-r--r--CORE/HDD/src/wlan_hdd_wext.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/CORE/HDD/src/wlan_hdd_wext.c b/CORE/HDD/src/wlan_hdd_wext.c
index 27c18132403d..3240c905b16d 100644
--- a/CORE/HDD/src/wlan_hdd_wext.c
+++ b/CORE/HDD/src/wlan_hdd_wext.c
@@ -10816,6 +10816,12 @@ static int __iw_set_band_config(struct net_device *dev,
if (0 != ret)
return ret;
+ if (!capable(CAP_NET_ADMIN)) {
+ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
+ FL("permission check failed"));
+ return -EPERM;
+ }
+
return hdd_setBand(dev, value[0]);
}