Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/xfrm/xfrm_state.c xfrm_algo_aead_clone() -> aead_len()

Type Parameter Key Value
PARAM_VALUE 0 alg 1-u64max
DATA_SOURCE 0 alg $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex

net/xfrm/xfrm_user.c attach_aead() -> aead_len()

Type Parameter Key Value
PARAM_VALUE 0 alg 4096-ptr_max
DATA_SOURCE 0 alg r nla_data
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 alg->alg_icv_len 0-u32max
USER_DATA 0 alg->alg_key_len 0-u32max
USER_PTR 0 alg
USER_PTR 0 alg->alg_key
USER_PTR 0 alg->alg_name
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 &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

net/xfrm/xfrm_user.c copy_to_user_aead() -> aead_len()

Type Parameter Key Value
PARAM_VALUE 0 alg 1-u64max
DATA_SOURCE 0 alg $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/xfrm/xfrm_user.c verify_aead() -> aead_len()

Type Parameter Key Value
PARAM_VALUE 0 alg 4096-ptr_max
DATA_SOURCE 0 alg r nla_data
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 alg->alg_icv_len 0-u32max
USER_DATA 0 alg->alg_key_len 0-u32max
USER_PTR 0 alg
USER_PTR 0 alg->alg_key
USER_PTR 0 alg->alg_name
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 &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

net/xfrm/xfrm_user.c xfrm_sa_len() -> aead_len()

Type Parameter Key Value
PARAM_VALUE 0 alg 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &x->lock