Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/wireguard/device.c wg_destruct() -> wg_packet_queue_free()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 1 purge 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &wg->device_update_lock
TYPE_LOCK (struct wg_device)->device_update_lock

drivers/net/wireguard/device.c wg_destruct() -> wg_packet_queue_free()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 1 purge 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &wg->device_update_lock
TYPE_LOCK (struct wg_device)->device_update_lock

drivers/net/wireguard/device.c wg_destruct() -> wg_packet_queue_free()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 1 purge 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &wg->device_update_lock
TYPE_LOCK (struct wg_device)->device_update_lock

drivers/net/wireguard/device.c wg_newlink() -> wg_packet_queue_free()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->last_cpu (-1)
PARAM_VALUE 0 queue->ring.batch 16
PARAM_VALUE 0 queue->ring.consumer_head 0
PARAM_VALUE 0 queue->ring.consumer_tail 0
PARAM_VALUE 0 queue->ring.queue 16,4096-ptr_max
PARAM_VALUE 0 queue->ring.size 4096
PARAM_VALUE 0 queue->worker 4096-ptr_max
PARAM_VALUE 1 purge 0
MEM_ZERO 0 queue
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 queue->ring.size
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &ops->srcu
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 &rx_queue_mutex

drivers/net/wireguard/device.c wg_newlink() -> wg_packet_queue_free()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->last_cpu (-1)
PARAM_VALUE 0 queue->ring.batch 16
PARAM_VALUE 0 queue->ring.consumer_head 0
PARAM_VALUE 0 queue->ring.consumer_tail 0
PARAM_VALUE 0 queue->ring.queue 16,4096-ptr_max
PARAM_VALUE 0 queue->ring.size 1024
PARAM_VALUE 0 queue->worker 4096-ptr_max
PARAM_VALUE 1 purge 0
MEM_ZERO 0 queue
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 queue->ring.size
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &ops->srcu
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 &rx_queue_mutex

drivers/net/wireguard/device.c wg_newlink() -> wg_packet_queue_free()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->last_cpu (-1)
PARAM_VALUE 0 queue->ring.batch 16
PARAM_VALUE 0 queue->ring.consumer_head 0
PARAM_VALUE 0 queue->ring.consumer_tail 0
PARAM_VALUE 0 queue->ring.queue 16,4096-ptr_max
PARAM_VALUE 0 queue->ring.size 1024
PARAM_VALUE 0 queue->worker 4096-ptr_max
PARAM_VALUE 1 purge 0
MEM_ZERO 0 queue
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 queue->ring.size
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &ops->srcu
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 &rx_queue_mutex