Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

net/wireless/nl80211.c nl80211_new_key() -> rdev_add_key()

Type Parameter Key Value
PARAM_VALUE 0 rdev 4096-ptr_max
PARAM_VALUE 0 rdev->ops 4096-ptr_max
PARAM_VALUE 0 rdev->ops->add_key 1-u64max
PARAM_VALUE 0 rdev->wiphy.n_cipher_suites 1-s32max
PARAM_VALUE 1 wdev 4096-ptr_max
PARAM_VALUE 1 wdev->iftype 1-4,7-9,12-14,16-u32max
PARAM_VALUE 2 link_id (-1)-255
PARAM_VALUE 3 key_index 0-7
PARAM_VALUE 5 mac_addr 0,4096-ptr_max
PARAM_VALUE 6 params 8884785494420942848
PARAM_VALUE 6 params->cipher 0
PARAM_VALUE 6 params->key 4096-ptr_max
PARAM_VALUE 6 params->key_len 0-u16max
PARAM_VALUE 6 params->ltf_keyseed_len 0-u16max
PARAM_VALUE 6 params->mode 0-255
PARAM_VALUE 6 params->seq 4096-ptr_max
PARAM_VALUE 6 params->seq_len 0-u16max
BUF_SIZE 0 rdev s32min-(-2),1-s32max
BUF_SIZE 0 rdev s32min-(-2),1-s32max
BUF_SIZE 1 wdev s32min-(-2),1-s32max
BUF_SIZE 1 wdev s32min-(-2),1-s32max
DATA_SOURCE 2 link_id r nl80211_link_id_or_invalid
MEM_ZERO 6 params
RX_PATH
TASK_NOT_RUNNING
USER_DATA 5 *mac_addr 0-255
USER_PTR 5 mac_addr
USER_PTR 6 params->key
USER_PTR 6 params->ltf_keyseed
USER_PTR 6 params->seq
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_set_key() -> rdev_add_key()

Type Parameter Key Value
PARAM_VALUE 0 rdev 4096-ptr_max
PARAM_VALUE 2 link_id (-1)
PARAM_VALUE 3 key_index 0-1
PARAM_VALUE 4 pairwise 1
PARAM_VALUE 5 mac_addr 4096-ptr_max
PARAM_VALUE 6 params 2460952461905526784
PARAM_VALUE 6 params->key 4096-ptr_max
PARAM_VALUE 6 params->key_len 0-u16max
PARAM_VALUE 6 params->ltf_keyseed_len 0-u16max
PARAM_VALUE 6 params->mode 2
PARAM_VALUE 6 params->seq 4096-ptr_max
PARAM_VALUE 6 params->seq_len 0-u16max
PARAM_VALUE 6 params->vlan_id 0
BUF_SIZE 0 rdev s32min-(-2),1-s32max
BUF_SIZE 0 rdev s32min-(-2),1-s32max
BUF_SIZE 1 wdev s32min-(-2),1-s32max
BUF_SIZE 1 wdev s32min-(-2),1-s32max
DATA_SOURCE 2 link_id r nl80211_link_id_or_invalid
DATA_SOURCE 5 mac_addr r nla_data
MEM_ZERO 6 params
RX_PATH
TASK_NOT_RUNNING
USER_DATA 5 *mac_addr 0-255
USER_PTR 5 mac_addr
USER_PTR 6 params->key
USER_PTR 6 params->ltf_keyseed
USER_PTR 6 params->seq
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_upload_connect_keys() -> rdev_add_key()

Type Parameter Key Value
PARAM_VALUE 0 rdev 4096-ptr_max
PARAM_VALUE 1 wdev 4096-ptr_max
PARAM_VALUE 1 wdev->connect_keys 4096-ptr_max
PARAM_VALUE 1 wdev->connect_keys->params 4096-ptr_max
PARAM_VALUE 1 wdev->iftype 1-2,8
PARAM_VALUE 1 wdev->wiphy 1-u64max
PARAM_VALUE 2 link_id (-1)
PARAM_VALUE 3 key_index 0-3
PARAM_VALUE 4 pairwise 0
PARAM_VALUE 5 mac_addr 0
PARAM_VALUE 6 params 4096-ptr_max
PARAM_VALUE 6 params->cipher 1-u32max
DATA_SOURCE 0 rdev r wiphy_to_rdev
DATA_SOURCE 1 wdev $0
BIT_INFO 1 wdev->iftype 0x0,0xb
RX_PATH
TASK_NOT_RUNNING

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

Type Parameter Key Value
PARAM_VALUE 0 rdev 4096-ptr_max
PARAM_VALUE 0 rdev->ops 4096-ptr_max
PARAM_VALUE 0 rdev->ops->add_key 1-u64max
PARAM_VALUE 0 rdev->ops->del_key 1-u64max
PARAM_VALUE 0 rdev->ops->set_default_key 1-u64max
PARAM_VALUE 0 rdev->wiphy.n_cipher_suites 1-s32max
PARAM_VALUE 1 wdev 4096-ptr_max
PARAM_VALUE 1 wdev->iftype 1-2
PARAM_VALUE 1 wdev->u.ibss.current_bss 1-u64max
PARAM_VALUE 1 wdev->valid_links 0
PARAM_VALUE 1 wdev->wext.keys 1-u64max
PARAM_VALUE 1 wdev->wiphy 1-u64max
PARAM_VALUE 2 link_id (-1)
PARAM_VALUE 3 key_index 0-5
PARAM_VALUE 5 mac_addr 0,4096-ptr_max
PARAM_VALUE 6 params 3749695405813886976,7910749212254519296
PARAM_VALUE 6 params->cipher 0,1027073-1027074,1027076-1027078
PARAM_VALUE 6 params->key_len 0-u16max
PARAM_VALUE 6 params->seq_len 0,6
BUF_SIZE 1 wdev->wext.keys 280,u64max
BUF_SIZE 5 mac_addr (-1)-0,14
BUF_SIZE 5 mac_addr (-1)-0,14
CAPPED_DATA 6 params->cipher 1
DATA_SOURCE 0 rdev $0
DATA_SOURCE 3 key_index $6
DATA_SOURCE 4 pairwise $2
DATA_SOURCE 5 mac_addr $3
DATA_SOURCE 6 params $7
MEM_ZERO 6 params
USER_DATA 4 pairwise 0-1
USER_DATA 6 params->key_len 0-u16max[u]
USER_PTR 6 params->key
USER_PTR 6 params->seq
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &wdev->wiphy->mtx
HALF_LOCKED2 0 &rdev->wiphy.mtx
TYPE_LOCK (struct wiphy)->mtx