Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

net/wireless/ibss.c __cfg80211_ibss_joined() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 4096-ptr_max
BUF_SIZE 0 pub 104
DATA_SOURCE 0 pub r cfg80211_get_bss
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev->wiphy.mtx

net/wireless/ibss.c __cfg80211_ibss_joined() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 4096-ptr_max
BUF_SIZE 0 pub 104
DATA_SOURCE 0 pub r cfg80211_get_bss
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev->wiphy.mtx

net/wireless/mlme.c cfg80211_assoc_failure() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

net/wireless/mlme.c cfg80211_assoc_ml_reconf() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
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/mlme.c cfg80211_mlme_assoc() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
LOCK2 &rdev->wiphy.mtx
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct wiphy)->mtx

net/wireless/mlme.c cfg80211_mlme_assoc() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
LOCK2 &rdev->wiphy.mtx
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct wiphy)->mtx

net/wireless/mlme.c cfg80211_mlo_reconf_add_done() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
RX_PATH
TASK_NOT_RUNNING

net/wireless/mlme.c cfg80211_mlo_reconf_add_done() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
RX_PATH
TASK_NOT_RUNNING

net/wireless/mlme.c cfg80211_mlo_reconf_add_done() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
RX_PATH
TASK_NOT_RUNNING

net/wireless/mlme.c cfg80211_rx_assoc_resp() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
RX_PATH
HALF_LOCKED2 &priv->wdev.wiphy->mtx

net/wireless/scan.c __cfg80211_bss_update() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rdev->bss_lock
LOCK2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct cfg80211_registered_device)->bss_lock

net/wireless/scan.c bss_ref_get() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rdev->bss_lock
LOCK2 bh
TYPE_LOCK (struct cfg80211_registered_device)->bss_lock

net/wireless/scan.c bss_ref_get() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rdev->bss_lock
LOCK2 bh
TYPE_LOCK (struct cfg80211_registered_device)->bss_lock

net/wireless/scan.c bss_ref_put() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
BUF_SIZE 0 pub (-1),104
BUF_SIZE 0 pub (-1),104
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rdev->bss_lock
LOCK2 bh
TYPE_LOCK (struct cfg80211_registered_device)->bss_lock

net/wireless/scan.c bss_ref_put() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rdev->bss_lock
LOCK2 bh
TYPE_LOCK (struct cfg80211_registered_device)->bss_lock

net/wireless/scan.c cfg80211_inform_single_bss_data() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

net/wireless/scan.c cfg80211_parse_ml_elem_sta_data() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 4096-ptr_max
BUF_SIZE 0 pub 104
DATA_SOURCE 0 pub r cfg80211_get_bss
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &rtnl_mutex

net/wireless/scan.c cfg80211_put_bss() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
BUF_SIZE 0 pub (-1)-0,104
BUF_SIZE 0 pub (-1)-0,104
DATA_SOURCE 0 pub $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 pub->beacon_interval 0-u16max[u]
USER_DATA 0 pub->bssid_index 1-46
USER_DATA 0 pub->capability 0-u16max[u]
USER_DATA 0 pub->max_bssid_indicator 1-8
LOCK2 &rdev->bss_lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 &rtlpriv->locks.conf_mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct cfg80211_registered_device)->bss_lock

net/wireless/scan.c cfg80211_ref_bss() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
BUF_SIZE 0 pub (-1)-0,104
BUF_SIZE 0 pub (-1)-0,104
DATA_SOURCE 0 pub $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rdev->bss_lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rdev->wiphy.mtx
HALF_LOCKED2 &wil->mutex
TYPE_LOCK (struct cfg80211_registered_device)->bss_lock

net/wireless/scan.c cfg80211_unlink_bss() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
BUF_SIZE 0 pub (-1),104
BUF_SIZE 0 pub (-1),104
DATA_SOURCE 0 pub $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rtlpriv->locks.conf_mutex

net/wireless/scan.c cfg80211_unlink_bss() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 4096-ptr_max
CAPPED_DATA 0 &pub->nontrans_list 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rdev->bss_lock
LOCK2 bh
HALF_LOCKED2 &rtlpriv->locks.conf_mutex
TYPE_LOCK (struct cfg80211_registered_device)->bss_lock

net/wireless/scan.c cfg80211_update_assoc_bss_entry() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rdev->bss_lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->wdev.wiphy->mtx
HALF_LOCKED2 &vif->ar->wiphy->mtx
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct cfg80211_registered_device)->bss_lock

net/wireless/scan.c cfg80211_update_assoc_bss_entry() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 4096-ptr_max
CAPPED_DATA 0 &pub->nontrans_list 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rdev->bss_lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->wdev.wiphy->mtx
HALF_LOCKED2 &vif->ar->wiphy->mtx
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct cfg80211_registered_device)->bss_lock

net/wireless/scan.c cfg80211_update_assoc_bss_entry() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 4096-ptr_max
CAPPED_DATA 0 &pub->nontrans_list 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rdev->bss_lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->wdev.wiphy->mtx
HALF_LOCKED2 &vif->ar->wiphy->mtx
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct cfg80211_registered_device)->bss_lock

net/wireless/sme.c __cfg80211_connect_result() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev->wiphy.mtx

net/wireless/sme.c __cfg80211_connect_result() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev->wiphy.mtx

net/wireless/sme.c __cfg80211_connect_result() -> bss_from_pub()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev->wiphy.mtx

net/wireless/sme.c __cfg80211_roamed() -> bss_from_pub()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev->wiphy.mtx

net/wireless/sme.c __cfg80211_roamed() -> bss_from_pub()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev->wiphy.mtx

net/wireless/sme.c cfg80211_connect_done() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &wil->mutex
HALF_LOCKED2 global &rtnl_mutex

net/wireless/sme.c cfg80211_connect_result_release_bsses() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
RX_PATH
TASK_NOT_RUNNING

net/wireless/sme.c cfg80211_update_link_bss() -> bss_from_pub()

Type Parameter Key Value
PARAM_VALUE 0 pub 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &wil->mutex
HALF_LOCKED2 global &rtnl_mutex