Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
- include/linux/skbuff.h, line 1774
- net/core/datagram.c
- net/core/skbuff.c, line 1934
- net/vmw_vsock/virtio_transport_common.c, line 88
Smatch caller information:
net/core/datagram.c zerocopy_sg_from_iter() -> __zerocopy_sg_from_iter()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 0 |
| PARAM_VALUE | 1 | sk | 0 |
| PARAM_VALUE | 2 | skb | 4096-ptr_max |
| PARAM_VALUE | 2 | skb->data | 4096-ptr_max |
| PARAM_VALUE | 2 | skb->destructor | 0,5871617288306880512,7346051344949997568 |
| PARAM_VALUE | 2 | skb->sk | 0,4096-ptr_max |
| PARAM_VALUE | 3 | from | 4096-ptr_max |
| PARAM_VALUE | 4 | length | u32max |
| PARAM_VALUE | 5 | binding | 0 |
| BUF_SIZE | 2 | skb | 0-s32max |
| BUF_SIZE | 2 | skb | 0-s32max |
| CAPPED_DATA | 2 | skb | 1 |
| CAPPED_DATA | 2 | skb->data_len | 1 |
| DATA_SOURCE | 2 | skb | $0 |
| DATA_SOURCE | 3 | from | $1 |
| NOSPEC | 3 | from->count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 3 | from->count | 1-18446744073709551614 |
| USER_DATA | 3 | from->iov_offset | 0-u64max[c] |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
net/core/skbuff.c skb_zerocopy_iter_stream() -> __zerocopy_sg_from_iter()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 2 | skb | 4096-ptr_max |
| PARAM_VALUE | 3 | from | 4096-ptr_max |
| PARAM_VALUE | 4 | length | 0-s32max,18446744071562067968-u64max |
| DATA_SOURCE | 0 | msg | $2 |
| DATA_SOURCE | 1 | sk | $0 |
| DATA_SOURCE | 2 | skb | $1 |
| DATA_SOURCE | 4 | length | $3 |
| DATA_SOURCE | 5 | binding | $5 |
net/vmw_vsock/virtio_transport_common.c virtio_transport_fill_skb() -> __zerocopy_sg_from_iter()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | sk | 0 |
| PARAM_VALUE | 2 | skb | 4096-ptr_max |
| PARAM_VALUE | 2 | skb->destructor | 0,5871617288306880512,7346051344949997568 |
| PARAM_VALUE | 2 | skb->head | 4096-ptr_max |
| PARAM_VALUE | 2 | skb->head->buf_alloc | 0 |
| PARAM_VALUE | 2 | skb->head->dst_cid | 0-4294967295 |
| PARAM_VALUE | 2 | skb->head->dst_port | 0-4294967295 |
| PARAM_VALUE | 2 | skb->head->flags | 0-3 |
| PARAM_VALUE | 2 | skb->head->fwd_cnt | 0 |
| PARAM_VALUE | 2 | skb->head->len | 0-65536 |
| PARAM_VALUE | 2 | skb->head->op | 1-6 |
| PARAM_VALUE | 2 | skb->head->src_cid | 0-4294967295 |
| PARAM_VALUE | 2 | skb->head->src_port | 0-4294967295 |
| PARAM_VALUE | 2 | skb->head->type | 0-u16max |
| PARAM_VALUE | 2 | skb->sk | 0,4096-ptr_max |
| PARAM_VALUE | 3 | from | 4096-ptr_max |
| PARAM_VALUE | 4 | length | 1-65536 |
| PARAM_VALUE | 5 | binding | 0 |
| BUF_SIZE | 2 | skb | 0-s32max |
| BUF_SIZE | 2 | skb | 0-s32max |
| CAPPED_DATA | 4 | length | 1 |
| CAPPED_DATA | 4 | length | 1 |
| DATA_SOURCE | 2 | skb | $0 |
| DATA_SOURCE | 4 | length | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 4 | length | 1-65536[c] |
| NO_OVERFLOW_SIMPLE | 2 | skb->sk->sk_backlog.len | |
| UNITS | 4 | length | unit_byte |
| HALF_LOCKED2 | child | ||
| HALF_LOCKED2 | sk |
net/ipv6/ip6_output.c skb_zerocopy_iter_dgram() -> __zerocopy_sg_from_iter()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 2 | skb | 4096-ptr_max |
| PARAM_VALUE | 3 | from | 4096-ptr_max |
| PARAM_VALUE | 4 | length | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 5 | binding | 0 |
| DATA_SOURCE | 0 | msg | $1 |
| DATA_SOURCE | 2 | skb | $0 |
| DATA_SOURCE | 4 | length | $2 |
| UNITS | 1 | sk | unit_byte |
net/ipv4/ip_output.c skb_zerocopy_iter_dgram() -> __zerocopy_sg_from_iter()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 2 | skb | 4096-ptr_max |
| PARAM_VALUE | 3 | from | 4096-ptr_max |
| PARAM_VALUE | 4 | length | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 5 | binding | 0 |
| DATA_SOURCE | 0 | msg | $1 |
| DATA_SOURCE | 2 | skb | $0 |
| DATA_SOURCE | 4 | length | $2 |
| UNITS | 1 | sk | unit_byte |