Defined in 1 files as a function:
Referenced in 6 files:
- include/linux/skmsg.h
- net/core/filter.c
- net/core/skmsg.c
- net/ipv4/tcp_bpf.c
- net/tls/tls_sw.c
- net/xfrm/espintcp.c, line 369
Smatch caller information:
net/core/skmsg.c __sk_msg_free() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| BUF_SIZE | 0 | msg | (-1),712 |
| BUF_SIZE | 0 | msg | (-1),712 |
| BUF_SIZE | 0 | msg->skb | (-1)-0,240 |
| CAPPED_DATA | 0 | msg | 1 |
| DATA_SOURCE | 0 | msg | $1 |
| DATA_SOURCE | 1 | which | $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | msg->sg.size | 1-u32max[c][u] |
| NO_OVERFLOW_SIMPLE | 0 | msg->skb->end | |
| NO_OVERFLOW_SIMPLE | 0 | msg->skb->len | |
| USER_PTR | 0 | msg->skb->data |
net/core/skmsg.c __sk_msg_free() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | which | s32min-17,19-s32max |
| BUF_SIZE | 0 | msg | (-1),712 |
| BUF_SIZE | 0 | msg | (-1),712 |
| BUF_SIZE | 0 | msg->skb | (-1)-0,240 |
| CAPPED_DATA | 0 | msg | 1 |
| DATA_SOURCE | 0 | msg | $1 |
| DATA_SOURCE | 1 | which | $2 [m] |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | msg->sg.size | 1-u32max[c][u] |
| NO_OVERFLOW_SIMPLE | 0 | msg->skb->end | |
| NO_OVERFLOW_SIMPLE | 0 | msg->skb->len | |
| USER_PTR | 0 | msg->skb->data |
net/core/skmsg.c __sk_msg_free_partial() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| BUF_SIZE | 0 | msg | (-1),712 |
| BUF_SIZE | 0 | msg | (-1),712 |
| DATA_SOURCE | 0 | msg | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
net/core/skmsg.c __sk_msg_recvmsg() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | sk |
net/core/skmsg.c sk_msg_clone() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| BUF_SIZE | 0 | msg | 712 |
| DATA_SOURCE | 0 | msg | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &tls_ctx->tx_lock | ||
| LOCK2 | sk | ||
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk | ||
| TYPE_LOCK | (struct tls_context)->tx_lock |
net/core/skmsg.c sk_msg_clone() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | which | s32min-17,19-s32max |
| BUF_SIZE | 0 | msg | 712 |
| DATA_SOURCE | 0 | msg | $2 |
| FUZZY_MAX | 1 | which | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &tls_ctx->tx_lock | ||
| LOCK2 | sk | ||
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk | ||
| TYPE_LOCK | (struct tls_context)->tx_lock |
net/core/skmsg.c sk_msg_clone() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| BUF_SIZE | 0 | msg | 712 |
| DATA_SOURCE | 0 | msg | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &tls_ctx->tx_lock | ||
| LOCK2 | sk | ||
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk | ||
| TYPE_LOCK | (struct tls_context)->tx_lock |
net/core/skmsg.c sk_msg_clone() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | which | s32min-17,19-s32max |
| BUF_SIZE | 0 | msg | 712 |
| DATA_SOURCE | 0 | msg | $2 |
| FUZZY_MAX | 1 | which | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &tls_ctx->tx_lock | ||
| LOCK2 | sk | ||
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk | ||
| TYPE_LOCK | (struct tls_context)->tx_lock |
net/core/skmsg.c sk_msg_compute_data_pointers() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| PARAM_VALUE | 0 | msg->sg.data | 0 |
| BUF_SIZE | 0 | msg | (-1),712 |
| BUF_SIZE | 0 | msg | (-1),712 |
| CAPPED_DATA | 0 | msg | 1 |
| DATA_SOURCE | 0 | msg | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
net/core/skmsg.c sk_msg_free_elem() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| BUF_SIZE | 0 | msg | (-1),712 |
| BUF_SIZE | 0 | msg | (-1),712 |
| BUF_SIZE | 0 | msg->skb | (-1)-0,240 |
| DATA_SOURCE | 0 | msg | $1 |
| DATA_SOURCE | 1 | which | $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | msg->sg.size | 1-u32max[c][u] |
| NO_OVERFLOW_SIMPLE | 0 | msg->skb->end | |
| NO_OVERFLOW_SIMPLE | 0 | msg->skb->len | |
| USER_PTR | 0 | msg->skb->data | |
| HALF_LOCKED2 | sk |
net/core/skmsg.c sk_msg_memcopy_from_iter() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| BUF_SIZE | 0 | msg | (-1),712 |
| BUF_SIZE | 0 | msg | (-1),712 |
| DATA_SOURCE | 0 | msg | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | msg->sg.size | 0-u32max[c][u] |
| LOCK2 | sk | ||
| HALF_LOCKED2 | &tls_ctx->tx_lock | ||
| HALF_LOCKED2 | &vq->mutex |
net/core/skmsg.c sk_msg_memcopy_from_iter() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | which | s32min-17,19-s32max |
| BUF_SIZE | 0 | msg | (-1),712 |
| BUF_SIZE | 0 | msg | (-1),712 |
| DATA_SOURCE | 0 | msg | $2 |
| FUZZY_MAX | 1 | which | 0 |
| PARAM_COMPARE | 1 | which | != $0->sg.end |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | msg->sg.size | 0-u32max[c][u] |
| LOCK2 | sk | ||
| HALF_LOCKED2 | &tls_ctx->tx_lock | ||
| HALF_LOCKED2 | &vq->mutex |
net/core/skmsg.c sk_msg_page_add() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| BUF_SIZE | 0 | msg | 712 |
| CAPPED_DATA | 0 | msg->sg.start | 1 |
| DATA_SOURCE | 0 | msg | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &tls_ctx->tx_lock | ||
| LOCK2 | sk | ||
| HALF_LOCKED2 | &vq->mutex | ||
| TYPE_LOCK | (struct tls_context)->tx_lock |
net/core/skmsg.c sk_msg_return_zero() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| DATA_SOURCE | 0 | msg | $1 |
net/core/filter.c ____bpf_msg_pop_data() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| DATA_SOURCE | 0 | msg | $0 |
net/core/filter.c ____bpf_msg_pop_data() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| CAPPED_DATA | 0 | msg->sg.start | 1 |
| DATA_SOURCE | 0 | msg | $0 |
net/core/filter.c ____bpf_msg_pop_data() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | which | s32min-17,19-s32max |
| CAPPED_DATA | 0 | msg->sg.start | 1 |
| CAPPED_DATA | 1 | which | 1 |
| DATA_SOURCE | 0 | msg | $0 |
net/core/filter.c ____bpf_msg_pop_data() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| CAPPED_DATA | 0 | msg->sg.start | 1 |
| DATA_SOURCE | 0 | msg | $0 |
net/core/filter.c ____bpf_msg_pull_data() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| DATA_SOURCE | 0 | msg | $0 |
net/core/filter.c ____bpf_msg_pull_data() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| DATA_SOURCE | 0 | msg | $0 |
net/core/filter.c ____bpf_msg_pull_data() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| DATA_SOURCE | 0 | msg | $0 |
net/core/filter.c ____bpf_msg_push_data() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| DATA_SOURCE | 0 | msg | $0 |
net/core/filter.c ____bpf_msg_push_data() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| PARAM_VALUE | 0 | msg->sg.data | 4096-ptr_max |
| CAPPED_DATA | 0 | msg->sg.start | 1 |
| DATA_SOURCE | 0 | msg | $0 |
net/core/filter.c ____bpf_msg_push_data() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| CAPPED_DATA | 0 | msg->sg.start | 1 |
| DATA_SOURCE | 0 | msg | $0 |
net/core/filter.c sk_msg_compute_data_pointers() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| CAPPED_DATA | 0 | msg->sg.start | 1 |
| CAPPED_DATA | 1 | which | 1 |
| DATA_SOURCE | 0 | msg | $0 |
| NO_OVERFLOW_SIMPLE | 0 | msg->sg.size |
net/core/filter.c sk_msg_shift_left() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| CAPPED_DATA | 0 | msg->sg.start | 1 |
| DATA_SOURCE | 0 | msg | $0 |
| DATA_SOURCE | 1 | which | $1 |
net/tls/tls_sw.c sk_msg_page_add() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| BUF_SIZE | 0 | msg | 712 |
| DATA_SOURCE | 0 | msg | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &tls_ctx->tx_lock | ||
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk | ||
| TYPE_LOCK | (struct tls_context)->tx_lock |
net/tls/tls_sw.c tls_do_encryption() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| BUF_SIZE | 0 | msg | 712 |
| DATA_SOURCE | 1 | which | $5 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | sk | ||
| HALF_LOCKED2 | &tls_ctx->tx_lock |
net/tls/tls_sw.c tls_encrypt_done() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| BUF_SIZE | 0 | msg | 712 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | bh |
net/tls/tls_sw.c tls_push_record() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| BUF_SIZE | 0 | msg | 712 |
| CAPPED_DATA | 0 | msg->sg.start | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | sk | ||
| HALF_LOCKED2 | &tls_ctx->tx_lock |
net/tls/tls_sw.c tls_push_record() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| BUF_SIZE | 0 | msg | 712 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | sk | ||
| HALF_LOCKED2 | &tls_ctx->tx_lock |
net/xfrm/espintcp.c espintcp_sendmsg() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| MEM_ZERO | 0 | msg | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | sk | ||
| HALF_LOCKED2 | &vq->mutex |
net/ipv4/tcp_bpf.c bpf_tcp_ingress() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| PARAM_VALUE | 0 | msg->sg.data | 0 |
| BUF_SIZE | 0 | msg | (-1),712 |
| BUF_SIZE | 0 | msg | (-1),712 |
| CAPPED_DATA | 0 | msg | 1 |
| DATA_SOURCE | 0 | msg | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | sk | ||
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
net/ipv4/tcp_bpf.c is_next_msg_fin() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| DATA_SOURCE | 0 | msg | r sk_psock_peek_msg |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | sk |
net/ipv4/tcp_bpf.c sk_msg_page() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| BUF_SIZE | 0 | msg | 712 |
| DATA_SOURCE | 0 | msg | $0 |
| DATA_SOURCE | 1 | which | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | sk | ||
| HALF_LOCKED2 | &vq->mutex |
net/ipv4/tcp_bpf.c tcp_bpf_push() -> sk_msg_elem()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msg | 4096-ptr_max |
| PARAM_VALUE | 0 | msg->sg.data | 0 |
| BUF_SIZE | 0 | msg | (-1),712 |
| BUF_SIZE | 0 | msg | (-1),712 |
| CAPPED_DATA | 0 | msg | 1 |
| DATA_SOURCE | 0 | msg | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | msg->sk->sk_backlog.len | |
| LOCK2 | sk | ||
| HALF_LOCKED2 | &vq->mutex |