Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/virtio_net.c receive_mergeable() -> virtnet_skb_append_frag()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->page_pool 1-u64max
PARAM_VALUE 0 rq->page_pool->dma_mapped.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 rq->page_pool->p.dev->kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 rq->page_pool->p.dev->kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 rq->page_pool->p.dev->kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 rq->page_pool->ring.producer s32min-2147483646
PARAM_VALUE 0 rq->page_pool->ring.producer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 rq->pages 1-u64max
PARAM_VALUE 0 rq->vq 4096-ptr_max
PARAM_VALUE 0 rq->vq->vdev 4096-ptr_max
PARAM_VALUE 0 rq->vq->vdev->priv 4096-ptr_max
PARAM_VALUE 0 rq->xsk_pool 0
PARAM_VALUE 1 head_skb 4096-ptr_max
PARAM_VALUE 2 curr_skb 4096-ptr_max
PARAM_VALUE 4 buf 1-u64max
PARAM_VALUE 5 len 0-4194303
PARAM_VALUE 6 truesize 0-4194303
BUF_SIZE 1 head_skb (-1)-s32max
BUF_SIZE 1 head_skb (-1)-s32max
BUF_SIZE 2 curr_skb (-1)-s32max
BUF_SIZE 2 curr_skb (-1)-s32max
CAPPED_DATA 0 rq->vq->vdev->priv->dev->num_tx_queues 1
CAPPED_DATA 1 head_skb 1
CAPPED_DATA 4 buf 1
CAPPED_DATA 5 len 1
DATA_SOURCE 0 rq $2
DATA_SOURCE 1 head_skb r page_to_skb
DATA_SOURCE 3 page r virt_to_head_page
DATA_SOURCE 4 buf r virtnet_rq_get_buf
DATA_SOURCE 5 len $5 [m]
DATA_SOURCE 6 truesize r mergeable_ctx_to_truesize
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 5 len 1-4194303[c]
NO_OVERFLOW_SIMPLE 1 head_skb->end
NO_OVERFLOW_SIMPLE 2 curr_skb->end
UNITS 5 len unit_byte
HALF_LOCKED2 bh

drivers/net/virtio_net.c xsk_append_merge_buffer() -> virtnet_skb_append_frag()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->vq 4096-ptr_max
PARAM_VALUE 0 rq->vq->vdev 4096-ptr_max
PARAM_VALUE 0 rq->vq->vdev->priv 4096-ptr_max
PARAM_VALUE 0 rq->xdp_prog 0,4096-ptr_max
PARAM_VALUE 0 rq->xsk_pool 4096-ptr_max
PARAM_VALUE 1 head_skb 4096-ptr_max
PARAM_VALUE 2 curr_skb 4096-ptr_max
PARAM_VALUE 4 buf 1-ptr_max
PARAM_VALUE 4 buf->flags 0
PARAM_VALUE 4 *buf->data (-4611686018427387904)-4611686018427387903
PARAM_VALUE 4 *buf->data_end (-4611686018427387904)-4611686018427387903
PARAM_VALUE 4 *buf->data_meta (-4611686018427387904)-4611686018427387903
BUF_SIZE 1 head_skb 0-s32max
BUF_SIZE 1 head_skb 0-s32max
BUF_SIZE 2 curr_skb (-1)-s32max
BUF_SIZE 2 curr_skb (-1)-s32max
CAPPED_DATA 0 rq->vq->vdev->priv->dev->num_tx_queues 1
CAPPED_DATA 1 head_skb 1
CAPPED_DATA 4 buf 1
CAPPED_DATA 5 len 1
CAPPED_DATA 6 truesize 1
DATA_SOURCE 0 rq $1
DATA_SOURCE 1 head_skb $2
DATA_SOURCE 4 buf r napi_alloc_frag
PARAM_COMPARE 5 len == $6
PARAM_COMPARE 6 truesize == $5
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 5 len 0-s32max[c]
HOST_DATA 6 truesize 0-s32max[c]
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh