Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/wireless/nl80211.c nl80211_del_key() -> cfg80211_valid_key_idx()

Type Parameter Key Value
PARAM_VALUE 1 key_idx (-1)-7
PARAM_VALUE 3 mac_addr 0,4096-ptr_max
BUF_SIZE 0 wdev s32min-(-2),1-s32max
BUF_SIZE 0 wdev s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 3 *mac_addr 0-255
USER_PTR 3 mac_addr
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

net/wireless/nl80211.c nl80211_get_key() -> cfg80211_valid_key_idx()

Type Parameter Key Value
PARAM_VALUE 0 wdev 4096-ptr_max
PARAM_VALUE 3 mac_addr 0,4096-ptr_max
BUF_SIZE 0 wdev s32min-(-2),1-s32max
BUF_SIZE 0 wdev s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 3 *mac_addr 0-255
USER_PTR 3 mac_addr
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

net/wireless/util.c cfg80211_validate_key_settings() -> cfg80211_valid_key_idx()

Type Parameter Key Value
PARAM_VALUE 1 key_idx (-1)-7
PARAM_VALUE 3 mac_addr 0,4096-ptr_max
BUF_SIZE 0 wdev s32min-(-1),1-s32max
BUF_SIZE 0 wdev s32min-(-1),1-s32max
BUF_SIZE 0 wdev->wext.keys (-1),280
BUF_SIZE 3 mac_addr (-1)-0,14
BUF_SIZE 3 mac_addr (-1)-0,14
DATA_SOURCE 0 wdev $1
DATA_SOURCE 1 key_idx $3
DATA_SOURCE 2 pairwise $4
DATA_SOURCE 3 mac_addr $5
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 pairwise 0-1
USER_DATA 3 *mac_addr 0-255
USER_PTR 3 mac_addr
HALF_LOCKED2 global &rtnl_mutex

net/wireless/wext-compat.c cfg80211_set_encryption() -> cfg80211_valid_key_idx()

Type Parameter Key Value
PARAM_VALUE 0 wdev 4096-ptr_max
PARAM_VALUE 0 wdev->iftype 1-2
PARAM_VALUE 0 wdev->wiphy 1-u64max
PARAM_VALUE 1 key_idx 0-5
PARAM_VALUE 3 mac_addr 0,4096-ptr_max
BUF_SIZE 0 wdev->wext.keys 280,u64max
BUF_SIZE 3 mac_addr (-1)-0,14
BUF_SIZE 3 mac_addr (-1)-0,14
CAPPED_DATA 1 key_idx 1
DATA_SOURCE 1 key_idx $6
DATA_SOURCE 2 pairwise $2
DATA_SOURCE 3 mac_addr $3
FUZZY_MAX 1 key_idx 0
USER_DATA 2 pairwise 0-1
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 &wdev->wiphy->mtx
TYPE_LOCK (struct wiphy)->mtx