Defined in 1 files as a function:

Referenced in 6 files:

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