From 72ed1edcaaf38bb3bb8b7da31f59a70a494877dc Mon Sep 17 00:00:00 2001 From: Mukul Sharma Date: Mon, 2 Nov 2015 19:57:31 +0530 Subject: [PATCH] qcacld-3.0: Check privilege permission for QCSAP_IOCTL_SETWPSIE qcacld-2.0 to qcacld-3.0 propagation 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 QCSAP_IOCTL_SETWPSIE IOCTL, making sure user task has right permission to process the command. Change-Id: Ie1c945afb0f109892beda66bab25647d70cc62d7 CRs-Fixed: 930944 --- core/hdd/src/wlan_hdd_hostapd.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index 6024539d8b40..980c80f8bc22 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -4254,6 +4254,12 @@ __iw_softap_setwpsie(struct net_device *dev, ENTER(); + if (!capable(CAP_NET_ADMIN)) { + CDF_TRACE(CDF_MODULE_ID_HDD, CDF_TRACE_LEVEL_ERROR, + FL("permission check failed")); + return -EPERM; + } + hdd_ctx = WLAN_HDD_GET_CTX(pHostapdAdapter); ret = wlan_hdd_validate_context(hdd_ctx); if (0 != ret)