Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 3 files:
Smatch caller information:
net/core/skmsg.c sk_msg_alloc() -> sk_msg_trim()
| 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 | msg | 4096-ptr_max |
| BUF_SIZE | 1 | msg | (-1),712 |
| BUF_SIZE | 1 | msg | (-1),712 |
| CAPPED_DATA | 0 | sk | 1 |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 1 | msg | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | sk | unit_byte |
| UNITS | 2 | len | unit_byte |
| LOCK2 | 0 | sk | |
| HALF_LOCKED2 | &tls_ctx->tx_lock | ||
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
net/tls/tls_sw.c tls_sw_sendmsg_locked() -> sk_msg_trim()
| 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_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_sndbuf | (-2147483647)-s32max |
| PARAM_VALUE | 0 | sk->sk_wmem_queued | s32min-2147483646 |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| BUF_SIZE | 1 | msg | 712 |
| DATA_SOURCE | 0 | sk | $0 |
| PARAM_COMPARE | 0 | sk->sk_sndbuf | > $0->sk_wmem_queued |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 | 2 | len | 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/tls/tls_sw.c tls_sw_sendmsg_locked() -> sk_msg_trim()
| 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 | msg | 4096-ptr_max |
| BUF_SIZE | 1 | msg | 712 |
| DATA_SOURCE | 0 | sk | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 | 2 | len | 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/tls/tls_sw.c tls_sw_sendmsg_locked() -> sk_msg_trim()
| 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 | msg | 4096-ptr_max |
| BUF_SIZE | 1 | msg | 712 |
| CAPPED_DATA | 1 | msg->sg.start | 1 |
| DATA_SOURCE | 0 | sk | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | msg->sg.size | 0-u32max[c][u] |
| 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 | 2 | len | 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/tls/tls_sw.c tls_sw_sendmsg_locked() -> sk_msg_trim()
| 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 | msg | 4096-ptr_max |
| BUF_SIZE | 1 | msg | 712 |
| DATA_SOURCE | 0 | sk | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 | 2 | len | 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/tls/tls_sw.c tls_sw_sendmsg_locked() -> sk_msg_trim()
| 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 | msg | 4096-ptr_max |
| BUF_SIZE | 1 | msg | 712 |
| DATA_SOURCE | 0 | sk | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 | 2 | len | 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/tls/tls_sw.c tls_trim_both_msgs() -> sk_msg_trim()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 2 | len | $1 |
| NOCHECK_CALL |
net/tls/tls_sw.c tls_trim_both_msgs() -> sk_msg_trim()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 2 | len | $1 [m] |
| NOCHECK_CALL |
net/ipv4/tcp_bpf.c tcp_bpf_sendmsg() -> sk_msg_trim()
| 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 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->sg.data | 0 |
| BUF_SIZE | 1 | msg | (-1),712 |
| BUF_SIZE | 1 | msg | (-1),712 |
| CAPPED_DATA | 0 | sk | 1 |
| DATA_SOURCE | 0 | sk | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 | 2 | len | unit_byte |
| LOCK2 | 0 | sk | |
| HALF_LOCKED2 | &vq->mutex |