Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/ethernet/netronome/nfp/ccm_mbox.c __nfp_ccm_mbox_communicate() -> nfp_ccm_mbox_should_run()

Type Parameter Key Value
PARAM_VALUE 0 nn 4096-ptr_max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->cb 4096-ptr_max
PARAM_VALUE 1 skb->cb->state 0
BUF_SIZE 0 nn (-1),145664
BUF_SIZE 0 nn (-1),145664
BUF_SIZE 0 nn->pdev (-1),1-s32max
BUF_SIZE 1 skb s32min,8,16,32,88,112
BUF_SIZE 1 skb s32min,8,16,32,88,112
CAPPED_DATA 1 skb->prev 1
DATA_SOURCE 0 nn $0
DATA_SOURCE 1 skb $1
STR_LEN 0 nn (-1),4-6
STR_LEN 0 nn (-1),4-6
PARAM_COMPARE 0 &nn->mbox_cmsg.queue != $1->prev
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 nn->cap 0-u32max[c]
HOST_DATA 0 nn->cap_w1 0-u32max
HOST_DATA 0 nn->dp.ctrl 0-u32max[c]
HOST_DATA 0 nn->dp.mtu 0-1499[c]
HOST_DATA 0 nn->dp.netdev->num_napi_configs 1-u32max
HOST_DATA 0 nn->dp.netdev->num_rx_queues 1-u32max
HOST_DATA 0 nn->dp.netdev->num_tx_queues 1-u16max[c]
HOST_DATA 0 nn->dp.netdev->priv_len 0,8,12,16,24,32,40,48,64,80,104,112,128,144,152,168,216,224,232
HOST_DATA 0 nn->dp.netdev->real_num_rx_queues 1-u32max
HOST_DATA 0 nn->dp.netdev->real_num_tx_queues 1-u16max
HOST_DATA 0 nn->dp.num_r_vecs 0-s32max[c]
HOST_DATA 0 nn->dp.num_rx_rings 0-s32max[c]
HOST_DATA 0 nn->dp.num_stack_tx_rings 0-s32max[c]
HOST_DATA 0 nn->dp.num_tx_rings 0-s32max[c]
HOST_DATA 0 nn->dp.rx_offset 0-64
HOST_DATA 0 nn->max_mtu 0-u32max
HOST_DATA 0 nn->max_r_vecs 0-s32max[c]
HOST_DATA 0 nn->max_rx_rings 0-u32max
HOST_DATA 0 nn->max_tx_rings 0-u32max
HOST_DATA 0 nn->pdev->current_state 0-3[c]
HOST_DATA 0 nn->tlv_caps.crypto_enable_off 0
HOST_DATA 0 nn->tlv_caps.crypto_ops 1-u32max
HOST_DATA 0 nn->tlv_caps.mbox_cmsg_types 0-u32max
HOST_DATA 0 nn->tlv_caps.mbox_len 504
HOST_DATA 0 nn->tlv_caps.mbox_off 6144
HOST_DATA 0 nn->tlv_caps.me_freq_mhz 0-u32max
HOST_DATA 0 nn->tlv_caps.repr_cap 0-u32max
HOST_DATA 0 nn->tlv_caps.tls_resync_ss 0
HOST_DATA 0 nn->tlv_caps.vnic_stats_cnt 0
HOST_DATA 0 nn->tlv_caps.vnic_stats_off 0
NO_OVERFLOW_SIMPLE 0 nn->max_r_vecs
NO_OVERFLOW_SIMPLE 0 nn->mbox_cmsg.queue.prev->end
NO_OVERFLOW_SIMPLE 0 nn->mbox_cmsg.queue.prev->next->end
NO_OVERFLOW_SIMPLE 0 nn->port->netdev->dev_port
HALF_LOCKED2 global &device_offload_lock
HALF_LOCKED2 sk

drivers/net/ethernet/netronome/nfp/ccm_mbox.c __nfp_ccm_mbox_communicate() -> nfp_ccm_mbox_should_run()

Type Parameter Key Value
PARAM_VALUE 0 nn 4096-ptr_max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->cb 4096-ptr_max
PARAM_VALUE 1 skb->cb->state 0
BUF_SIZE 0 nn (-1),145664
BUF_SIZE 0 nn (-1),145664
BUF_SIZE 0 nn->pdev (-1),1-s32max
BUF_SIZE 1 skb s32min,8,16,32,88,112
BUF_SIZE 1 skb s32min,8,16,32,88,112
CAPPED_DATA 1 skb->prev 1
DATA_SOURCE 0 nn $0
DATA_SOURCE 1 skb $1
STR_LEN 0 nn (-1),4-6
STR_LEN 0 nn (-1),4-6
PARAM_COMPARE 0 &nn->mbox_cmsg.queue != $1->prev
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 nn->cap 0-u32max[c]
HOST_DATA 0 nn->cap_w1 0-u32max
HOST_DATA 0 nn->dp.ctrl 0-u32max[c]
HOST_DATA 0 nn->dp.mtu 0-1499[c]
HOST_DATA 0 nn->dp.netdev->num_napi_configs 1-u32max
HOST_DATA 0 nn->dp.netdev->num_rx_queues 1-u32max
HOST_DATA 0 nn->dp.netdev->num_tx_queues 1-u16max[c]
HOST_DATA 0 nn->dp.netdev->priv_len 0,8,12,16,24,32,40,48,64,80,104,112,128,144,152,168,216,224,232
HOST_DATA 0 nn->dp.netdev->real_num_rx_queues 1-u32max
HOST_DATA 0 nn->dp.netdev->real_num_tx_queues 1-u16max
HOST_DATA 0 nn->dp.num_r_vecs 0-s32max[c]
HOST_DATA 0 nn->dp.num_rx_rings 0-s32max[c]
HOST_DATA 0 nn->dp.num_stack_tx_rings 0-s32max[c]
HOST_DATA 0 nn->dp.num_tx_rings 0-s32max[c]
HOST_DATA 0 nn->dp.rx_offset 0-64
HOST_DATA 0 nn->max_mtu 0-u32max
HOST_DATA 0 nn->max_r_vecs 0-s32max[c]
HOST_DATA 0 nn->max_rx_rings 0-u32max
HOST_DATA 0 nn->max_tx_rings 0-u32max
HOST_DATA 0 nn->pdev->current_state 0-3[c]
HOST_DATA 0 nn->tlv_caps.crypto_enable_off 0
HOST_DATA 0 nn->tlv_caps.crypto_ops 1-u32max
HOST_DATA 0 nn->tlv_caps.mbox_cmsg_types 0-u32max
HOST_DATA 0 nn->tlv_caps.mbox_len 504
HOST_DATA 0 nn->tlv_caps.mbox_off 6144
HOST_DATA 0 nn->tlv_caps.me_freq_mhz 0-u32max
HOST_DATA 0 nn->tlv_caps.repr_cap 0-u32max
HOST_DATA 0 nn->tlv_caps.tls_resync_ss 0
HOST_DATA 0 nn->tlv_caps.vnic_stats_cnt 0
HOST_DATA 0 nn->tlv_caps.vnic_stats_off 0
NO_OVERFLOW_SIMPLE 0 nn->max_r_vecs
NO_OVERFLOW_SIMPLE 0 nn->mbox_cmsg.queue.prev->end
NO_OVERFLOW_SIMPLE 0 nn->mbox_cmsg.queue.prev->next->end
NO_OVERFLOW_SIMPLE 0 nn->port->netdev->dev_port
HALF_LOCKED2 global &device_offload_lock
HALF_LOCKED2 sk

drivers/net/ethernet/netronome/nfp/ccm_mbox.c __nfp_ccm_mbox_communicate() -> nfp_ccm_mbox_should_run()

Type Parameter Key Value
PARAM_VALUE 0 nn 4096-ptr_max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->cb 4096-ptr_max
PARAM_VALUE 1 skb->cb->state 0
BUF_SIZE 0 nn (-1),145664
BUF_SIZE 0 nn (-1),145664
BUF_SIZE 0 nn->pdev (-1),1-s32max
BUF_SIZE 1 skb s32min,8,16,32,88,112
BUF_SIZE 1 skb s32min,8,16,32,88,112
CAPPED_DATA 1 skb->prev 1
DATA_SOURCE 0 nn $0
DATA_SOURCE 1 skb $1
STR_LEN 0 nn (-1),4-6
STR_LEN 0 nn (-1),4-6
PARAM_COMPARE 0 &nn->mbox_cmsg.queue != $1->prev
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 nn->cap 0-u32max[c]
HOST_DATA 0 nn->cap_w1 0-u32max
HOST_DATA 0 nn->dp.ctrl 0-u32max[c]
HOST_DATA 0 nn->dp.mtu 0-1499[c]
HOST_DATA 0 nn->dp.netdev->num_napi_configs 1-u32max
HOST_DATA 0 nn->dp.netdev->num_rx_queues 1-u32max
HOST_DATA 0 nn->dp.netdev->num_tx_queues 1-u16max[c]
HOST_DATA 0 nn->dp.netdev->priv_len 0,8,12,16,24,32,40,48,64,80,104,112,128,144,152,168,216,224,232
HOST_DATA 0 nn->dp.netdev->real_num_rx_queues 1-u32max
HOST_DATA 0 nn->dp.netdev->real_num_tx_queues 1-u16max
HOST_DATA 0 nn->dp.num_r_vecs 0-s32max[c]
HOST_DATA 0 nn->dp.num_rx_rings 0-s32max[c]
HOST_DATA 0 nn->dp.num_stack_tx_rings 0-s32max[c]
HOST_DATA 0 nn->dp.num_tx_rings 0-s32max[c]
HOST_DATA 0 nn->dp.rx_offset 0-64
HOST_DATA 0 nn->max_mtu 0-u32max
HOST_DATA 0 nn->max_r_vecs 0-s32max[c]
HOST_DATA 0 nn->max_rx_rings 0-u32max
HOST_DATA 0 nn->max_tx_rings 0-u32max
HOST_DATA 0 nn->pdev->current_state 0-3[c]
HOST_DATA 0 nn->tlv_caps.crypto_enable_off 0
HOST_DATA 0 nn->tlv_caps.crypto_ops 1-u32max
HOST_DATA 0 nn->tlv_caps.mbox_cmsg_types 0-u32max
HOST_DATA 0 nn->tlv_caps.mbox_len 504
HOST_DATA 0 nn->tlv_caps.mbox_off 6144
HOST_DATA 0 nn->tlv_caps.me_freq_mhz 0-u32max
HOST_DATA 0 nn->tlv_caps.repr_cap 0-u32max
HOST_DATA 0 nn->tlv_caps.tls_resync_ss 0
HOST_DATA 0 nn->tlv_caps.vnic_stats_cnt 0
HOST_DATA 0 nn->tlv_caps.vnic_stats_off 0
NO_OVERFLOW_SIMPLE 0 nn->max_r_vecs
NO_OVERFLOW_SIMPLE 0 nn->mbox_cmsg.queue.prev->end
NO_OVERFLOW_SIMPLE 0 nn->mbox_cmsg.queue.prev->next->end
NO_OVERFLOW_SIMPLE 0 nn->port->netdev->dev_port
HALF_LOCKED2 global &device_offload_lock
HALF_LOCKED2 sk

drivers/net/ethernet/netronome/nfp/ccm_mbox.c nfp_ccm_mbox_post_runq_work() -> nfp_ccm_mbox_should_run()

Type Parameter Key Value
PARAM_VALUE 0 nn 4096-ptr_max
PARAM_VALUE 1 skb 1-u64max
PARAM_VALUE 1 skb->cb 4096-ptr_max
DATA_SOURCE 1 skb r __skb_peek
PARAM_COMPARE 0 nn->mbox_cmsg.queue.next == $1
PARAM_COMPARE 1 skb == $0->mbox_cmsg.queue.next
PREEMPT_ADD <- disables preempt
LOCK2 bh
LOCK2 0 &nn->mbox_cmsg.queue.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct sk_buff_head)->lock

drivers/net/ethernet/netronome/nfp/ccm_mbox.c nfp_ccm_mbox_unlink_unlock() -> nfp_ccm_mbox_should_run()

Type Parameter Key Value
PARAM_VALUE 0 nn 4096-ptr_max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->cb 4096-ptr_max
PARAM_VALUE 1 skb->cb->state 0
BUF_SIZE 0 nn (-1),145664
BUF_SIZE 0 nn (-1),145664
BUF_SIZE 1 skb s32min,8,16,32,88,112
BUF_SIZE 1 skb s32min,8,16,32,88,112
CAPPED_DATA 1 skb->prev 1
DATA_SOURCE 0 nn $0
DATA_SOURCE 1 skb $1
STR_LEN 0 nn (-1),4-6
STR_LEN 0 nn (-1),4-6
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 nn->cap 0-u32max[c]
HOST_DATA 0 nn->cap_w1 0-u32max
HOST_DATA 0 nn->dp.ctrl 0-u32max[c]
HOST_DATA 0 nn->dp.mtu 0-1499[c]
HOST_DATA 0 nn->dp.netdev->num_napi_configs 1-u32max
HOST_DATA 0 nn->dp.netdev->num_rx_queues 1-u32max[c]
HOST_DATA 0 nn->dp.netdev->num_tx_queues 1-u16max[c]
HOST_DATA 0 nn->dp.netdev->priv_len 0,8,12,16,24,32,40,48,64,80,104,112,128,144,152,168,216,224,232
HOST_DATA 0 nn->dp.netdev->real_num_rx_queues 1-u32max
HOST_DATA 0 nn->dp.netdev->real_num_tx_queues 1-u16max
HOST_DATA 0 nn->dp.num_r_vecs 0-s32max[c]
HOST_DATA 0 nn->dp.num_rx_rings 0-s32max[c]
HOST_DATA 0 nn->dp.num_stack_tx_rings 0-s32max[c]
HOST_DATA 0 nn->dp.num_tx_rings 0-s32max[c]
HOST_DATA 0 nn->dp.rx_offset 0-64
HOST_DATA 0 nn->max_mtu 0-u32max
HOST_DATA 0 nn->max_r_vecs 0-s32max[c]
HOST_DATA 0 nn->max_rx_rings 0-u32max
HOST_DATA 0 nn->max_tx_rings 0-u32max
HOST_DATA 0 nn->pdev->current_state 0-3[c]
HOST_DATA 0 nn->tlv_caps.crypto_enable_off 0
HOST_DATA 0 nn->tlv_caps.crypto_ops 1-u32max
HOST_DATA 0 nn->tlv_caps.mbox_cmsg_types 0-u32max
HOST_DATA 0 nn->tlv_caps.mbox_len 504
HOST_DATA 0 nn->tlv_caps.mbox_off 6144
HOST_DATA 0 nn->tlv_caps.me_freq_mhz 0-u32max
HOST_DATA 0 nn->tlv_caps.repr_cap 0-u32max
HOST_DATA 0 nn->tlv_caps.tls_resync_ss 0
HOST_DATA 0 nn->tlv_caps.vnic_stats_cnt 0
HOST_DATA 0 nn->tlv_caps.vnic_stats_off 0
NO_OVERFLOW_SIMPLE 0 nn->max_r_vecs
NO_OVERFLOW_SIMPLE 0 nn->port->netdev->dev_port
LOCK2 bh
LOCK2 0 &nn->mbox_cmsg.queue.lock
HALF_LOCKED2 global &device_offload_lock
HALF_LOCKED2 sk
TYPE_LOCK (struct sk_buff_head)->lock