From 34777c6cf33323aab56075872ed2ebabab0ccfbe Mon Sep 17 00:00:00 2001 From: Mukul Sharma Date: Mon, 2 Nov 2015 20:22:30 +0530 Subject: [PATCH] qcacld-3.0: Check privilege permission for SET_CHAR_GET_NONE 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 SET_CHAR_GET_NONE IOCTLs, making sure user task has right permission to process the command. Change-Id: I7b060bcdc84f7016e8d301e994437a535533a260 CRs-Fixed: 930935 --- core/hdd/src/wlan_hdd_wext.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/hdd/src/wlan_hdd_wext.c b/core/hdd/src/wlan_hdd_wext.c index 659cc7d6539e..299ce46d243b 100644 --- a/core/hdd/src/wlan_hdd_wext.c +++ b/core/hdd/src/wlan_hdd_wext.c @@ -6121,6 +6121,12 @@ static int __iw_setchar_getnone(struct net_device *dev, #endif /* WLAN_FEATURE_VOWIFI */ struct iw_point s_priv_data; + if (!capable(CAP_NET_ADMIN)) { + CDF_TRACE(CDF_MODULE_ID_HDD, CDF_TRACE_LEVEL_ERROR, + FL("permission check failed")); + return -EPERM; + } + ret = wlan_hdd_validate_context(hdd_ctx); if (0 != ret) return ret;