Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

drivers/infiniband/sw/siw/siw_qp_tx.c siw_tcp_sendpages() -> tcp_sendmsg_locked()

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 1779189061686894592
PARAM_VALUE 1 msg->msg_control 0
PARAM_VALUE 1 msg->msg_controllen 0
PARAM_VALUE 1 msg->msg_flags 64,32832,134217792,134250560
PARAM_VALUE 1 msg->msg_inq 0
PARAM_VALUE 1 msg->msg_name 0
PARAM_VALUE 1 msg->msg_namelen 0
PARAM_VALUE 1 msg->msg_ubuf 0
PARAM_VALUE 1 msg->sg_from_iter 0
PARAM_VALUE 2 size 0-4096,18446744071562067970-u64max
PREEMPT_ADD
TASK_NOT_RUNNING
UNITS 0 sk unit_byte
UNITS 2 size unit_byte
LOCK2 &qp->state_lock
LOCK2 0 sk
TYPE_LOCK (struct siw_qp)->state_lock

net/ipv4/tcp.c tcp_sendmsg() -> tcp_sendmsg_locked()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->__sk_common.skc_prot 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 0 *sk->sk_backlog.head->dev->name 0-255
PARAM_VALUE 1 msg 4096-ptr_max
BUF_SIZE 1 msg->msg_control (-1)-0,16,24,36-s32max
BUF_SIZE 1 msg->msg_name (-1)-0,12,28,128
BUF_SIZE 1 msg->msg_ubuf (-1),16
CAPPED_DATA 0 sk 1
DATA_SOURCE 0 sk $0
DATA_SOURCE 1 msg $1
DATA_SOURCE 2 size $2
NOSPEC 1 msg->msg_iter.count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 msg->msg_controllen 0-s32max[c]
USER_DATA 1 msg->msg_flags 0-u32max[c]
USER_DATA 1 msg->msg_iter.count 1-18446744073709551614
USER_DATA 1 msg->msg_iter.iov_offset 0-u64max[c]
USER_DATA 1 msg->msg_namelen 0-128
USER_DATA 1 *msg->msg_name s64min-s64max
USER_DATA 2 size 0-u64max
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
UNITS 0 sk unit_byte
UNITS 2 size unit_byte
USER_PTR 1 msg->msg_control
USER_PTR 1 msg->msg_name
LOCK2 0 sk
HALF_LOCKED2 &vq->mutex

net/xfrm/espintcp.c espintcp_sendskmsg_locked() -> tcp_sendmsg_locked()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 1 msg 3684669281184219136
PARAM_VALUE 1 msg->msg_control 0
PARAM_VALUE 1 msg->msg_controllen 0
PARAM_VALUE 1 msg->msg_flags 134217728,134250496-134250497
PARAM_VALUE 1 msg->msg_inq 0
PARAM_VALUE 1 msg->msg_name 0
PARAM_VALUE 1 msg->msg_namelen 0
PARAM_VALUE 1 msg->msg_ubuf 0
PARAM_VALUE 1 msg->sg_from_iter 0
CAPPED_DATA 0 sk 1
DATA_SOURCE 0 sk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->truesize
UNITS 0 sk unit_byte
HALF_LOCKED2 0 sk
HALF_LOCKED2 0 &sk->sk_lock.slock

net/tls/tls_main.c tls_push_sg() -> tcp_sendmsg_locked()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 1 msg 7604942576880889856
PARAM_VALUE 1 msg->msg_control 0
PARAM_VALUE 1 msg->msg_controllen 0
PARAM_VALUE 1 msg->msg_flags 0,134217728-s32max
PARAM_VALUE 1 msg->msg_inq 0
PARAM_VALUE 1 msg->msg_name 0
PARAM_VALUE 1 msg->msg_namelen 0
PARAM_VALUE 1 msg->msg_ubuf 0
PARAM_VALUE 1 msg->sg_from_iter 0
PARAM_VALUE 2 size 0-u32max,18446744071562067969-u64max
CAPPED_DATA 0 sk 1
DATA_SOURCE 0 sk $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 msg->msg_flags 0,134217728-s32max[c]
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->truesize
UNITS 0 sk unit_byte
UNITS 2 size unit_byte
HALF_LOCKED2 0 sk

net/ipv4/tcp_bpf.c tcp_bpf_push() -> tcp_sendmsg_locked()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->ns_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 sk->ns_tracker->dead 0-1
PARAM_VALUE 0 sk->ns_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 sk->sk_backlog.head->sk->ns_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 sk->sk_backlog.head->sk->ns_tracker->dead 0-1
PARAM_VALUE 0 sk->sk_backlog.head->sk->ns_tracker->free_stack_handle 0-4294967295
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 4716574048715243520
PARAM_VALUE 1 msg->msg_control 0
PARAM_VALUE 1 msg->msg_controllen 0
PARAM_VALUE 1 msg->msg_flags 0,32768,65536,98304,134217728-2147581951
PARAM_VALUE 1 msg->msg_inq 0
PARAM_VALUE 1 msg->msg_name 0
PARAM_VALUE 1 msg->msg_namelen 0
PARAM_VALUE 1 msg->msg_ubuf 0
PARAM_VALUE 1 msg->sg_from_iter 0
PARAM_VALUE 2 size 0-s32max,18446744071562067968-u64max
CAPPED_DATA 0 sk 1
DATA_SOURCE 0 sk $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 msg->msg_flags 0,32768,65536,98304,134217728-2147581951[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 2 size unit_byte
LOCK2 0 sk
HALF_LOCKED2 &vq->mutex

net/core/skbuff.c sendmsg_locked() -> (struct proto_ops)->sendmsg_locked()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->sk_socket 4096-ptr_max
PARAM_VALUE 0 sk->sk_socket->ops 4096-ptr_max
PARAM_VALUE 0 sk->sk_socket->ops->sendmsg_locked 1-u64max
PARAM_VALUE 1 msg 8990689607666532352
PARAM_VALUE 1 msg->msg_flags 64,16448,32832,49216,134217792,134234176,134250560,134266944
PARAM_VALUE 1 msg->msg_inq 0
PARAM_VALUE 1 msg->msg_ubuf 0
PARAM_VALUE 2 size 0-1000000000
DATA_SOURCE 0 sk $0
DATA_SOURCE 1 msg $1
DATA_SOURCE 2 size r msg_data_left
TASK_NOT_RUNNING
USER_DATA 2 size 0-1000000000
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->truesize
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 sk
HALF_LOCKED2 0 &sk->sk_lock.slock