Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
- net/core/skmsg.c, line 411
- net/ipv4/tcp_bpf.c, line 580
- net/tls/tls_sw.c, line 928
- net/xfrm/espintcp.c
Smatch caller information:
net/tls/tls_sw.c tls_sw_sendmsg_locked() -> sk_msg_memcopy_from_iter()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_dst_cache->dev_rcu->rtnl_link_ops->maxtype | 0-6,8-10,15,18,20,22,24,34,50 |
| PARAM_VALUE | 0 | sk->sk_lock.owned | 1 |
| PARAM_VALUE | 0 | sk->sk_lock.slock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sk->sk_lock.wq.head.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_lock.wq.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_lock.wq.head.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| PARAM_VALUE | 2 | msg | 4096-ptr_max |
| PARAM_VALUE | 3 | bytes | 1-u32max |
| BUF_SIZE | 2 | msg | 712 |
| DATA_SOURCE | 0 | sk | $0 |
| NOSPEC | 1 | from->count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | from->count | 0-u64max |
| USER_DATA | 1 | from->iov_offset | 0-u64max[c] |
| USER_DATA | 2 | msg->sg.size | 0-u32max[c][u] |
| USER_DATA | 3 | bytes | 1-1000000000[c] |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_prot_creator->twsk_prot->twsk_slab->sheaf_capacity | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_receive_queue.prev->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_receive_queue.prev->next->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.next->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.next->prev->data_len | |
| UNITS | 0 | sk | unit_byte |
| UNITS | 3 | bytes | unit_byte |
| LOCK2 | &tls_ctx->tx_lock | ||
| LOCK2 | 0 | sk | |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk | ||
| TYPE_LOCK | (struct tls_context)->tx_lock |
net/xfrm/espintcp.c espintcp_sendmsg() -> sk_msg_memcopy_from_iter()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_lock.owned | 1 |
| PARAM_VALUE | 0 | sk->sk_lock.slock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sk->sk_lock.wq.head.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_lock.wq.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_lock.wq.head.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | from | 6120495882502754304 |
| PARAM_VALUE | 2 | msg | 4096-ptr_max |
| PARAM_VALUE | 2 | msg->data | 0 |
| PARAM_VALUE | 2 | msg->data_end | 0 |
| PARAM_VALUE | 2 | msg->flags | 0 |
| PARAM_VALUE | 2 | msg->sg.start | 0 |
| PARAM_VALUE | 2 | msg->sk | 0 |
| PARAM_VALUE | 2 | msg->sk_redir | 0 |
| PARAM_VALUE | 2 | msg->skb | 0 |
| PARAM_VALUE | 3 | bytes | 2 |
| CAPPED_DATA | 0 | sk | 1 |
| DATA_SOURCE | 0 | sk | $0 |
| MEM_ZERO | 2 | msg | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_prot_creator->twsk_prot->twsk_slab->sheaf_capacity | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_receive_queue.prev->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_receive_queue.prev->next->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.next->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.next->prev->data_len | |
| UNITS | 0 | sk | unit_byte |
| UNITS | 3 | bytes | unit_byte |
| LOCK2 | 0 | sk | |
| HALF_LOCKED2 | &vq->mutex |
net/xfrm/espintcp.c espintcp_sendmsg() -> sk_msg_memcopy_from_iter()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_lock.owned | 1 |
| PARAM_VALUE | 0 | sk->sk_lock.slock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sk->sk_lock.wq.head.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_lock.wq.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_lock.wq.head.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| PARAM_VALUE | 2 | msg | 4096-ptr_max |
| PARAM_VALUE | 2 | msg->data | 0 |
| PARAM_VALUE | 2 | msg->data_end | 0 |
| PARAM_VALUE | 2 | msg->flags | 0 |
| PARAM_VALUE | 2 | msg->sg.curr | 0-17,19-u32max |
| PARAM_VALUE | 2 | msg->sg.start | 0 |
| PARAM_VALUE | 2 | msg->sk | 0 |
| PARAM_VALUE | 2 | msg->sk_redir | 0 |
| PARAM_VALUE | 2 | msg->skb | 0 |
| PARAM_VALUE | 3 | bytes | 0-65533 |
| CAPPED_DATA | 0 | sk | 1 |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 3 | bytes | $2 |
| NOSPEC | 1 | from->count | |
| MEM_ZERO | 2 | msg | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | from->count | 1-18446744073709551614 |
| USER_DATA | 1 | from->iov_offset | 0-u64max[c] |
| USER_DATA | 3 | bytes | 0-65533 |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_prot_creator->twsk_prot->twsk_slab->sheaf_capacity | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_receive_queue.prev->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_receive_queue.prev->next->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.next->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.next->prev->data_len | |
| UNITS | 0 | sk | unit_byte |
| UNITS | 3 | bytes | unit_byte |
| LOCK2 | 0 | sk | |
| HALF_LOCKED2 | &vq->mutex |
net/ipv4/tcp_bpf.c tcp_bpf_sendmsg() -> sk_msg_memcopy_from_iter()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_err | 0 |
| PARAM_VALUE | 0 | sk->sk_lock.owned | 1 |
| PARAM_VALUE | 0 | sk->sk_lock.slock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sk->sk_lock.wq.head.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_lock.wq.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_lock.wq.head.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_wmem_queued | s32min-2147483646 |
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| PARAM_VALUE | 2 | msg | 4096-ptr_max |
| PARAM_VALUE | 2 | msg->sg.data | 0 |
| BUF_SIZE | 2 | msg | (-1),712 |
| BUF_SIZE | 2 | msg | (-1),712 |
| CAPPED_DATA | 0 | sk | 1 |
| DATA_SOURCE | 0 | sk | $0 |
| NOSPEC | 1 | from->count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | from->count | 1-18446744073709551614 |
| USER_DATA | 1 | from->iov_offset | 0-u64max[c] |
| USER_DATA | 3 | bytes | 0-1000000000 |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_prot_creator->twsk_prot->twsk_slab->sheaf_capacity | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_receive_queue.prev->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_receive_queue.prev->next->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.next->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.next->prev->data_len | |
| UNITS | 0 | sk | unit_byte |
| UNITS | 3 | bytes | unit_byte |
| LOCK2 | 0 | sk | |
| HALF_LOCKED2 | &vq->mutex |