Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/ipv6/datagram.c ip6_datagram_send_ctl() -> __sock_cmsg_send()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 1 cmsg 4096-ptr_max
PARAM_VALUE 1 cmsg->cmsg_len 16-u64max
PARAM_VALUE 1 cmsg->cmsg_level 1
PARAM_VALUE 2 sockc 913069565419700224,2189001213010419712,4941898643751067648,5497335225115070464,6612724922240475136,9175465522676625408
BUF_SIZE 1 cmsg (-1)-0,16,24,36-s32max
BUF_SIZE 1 cmsg (-1)-0,16,24,36-s32max
CAPPED_DATA 0 sk->__sk_common.skc_net.net 1
CAPPED_DATA 1 cmsg->cmsg_len 1
DATA_SOURCE 0 sk $1
NOSPEC 1 cmsg->cmsg_len
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 cmsg->cmsg_len 16-s32max[c]
USER_DATA 1 cmsg->cmsg_type s32min-s32max
USER_DATA 2 sockc->dmabuf_id 0-u32max
USER_DATA 2 sockc->mark 0-u32max
USER_DATA 2 sockc->priority 0-u32max
USER_DATA 2 sockc->transmit_time 0-9223372036854775807
USER_DATA 2 sockc->ts_opt_id 0-u32max
USER_DATA 2 sockc->tsflags 0-u32max[c][u]
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
USER_PTR 1 cmsg
HALF_LOCKED2 0 sk

net/ipv4/ip_sockglue.c ip_cmsg_send() -> __sock_cmsg_send()

Type Parameter Key Value
PARAM_VALUE 0 sk->__sk_common.skc_state 1
PARAM_VALUE 1 cmsg 4096-ptr_max
PARAM_VALUE 1 cmsg->cmsg_len 16-u64max
PARAM_VALUE 1 cmsg->cmsg_level 1
PARAM_VALUE 2 sockc 220240098717503488,1423554224653365248,8093818204654346240
BUF_SIZE 1 cmsg (-1)-0,16,24,36-s32max
BUF_SIZE 1 cmsg (-1)-0,16,24,36-s32max
CAPPED_DATA 0 sk->__sk_common.skc_net.net 1
CAPPED_DATA 1 cmsg->cmsg_len 1
DATA_SOURCE 0 sk $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 cmsg->cmsg_len 16-s32max[c]
USER_DATA 1 cmsg->cmsg_type s32min-s32max
USER_DATA 2 sockc->dmabuf_id 0-u32max
USER_DATA 2 sockc->mark 0-u32max
USER_DATA 2 sockc->priority 0-u32max
USER_DATA 2 sockc->transmit_time 0-9223372036854775807
USER_DATA 2 sockc->ts_opt_id 0-u32max
USER_DATA 2 sockc->tsflags 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
USER_PTR 1 cmsg

net/core/sock.c sock_cmsg_send() -> __sock_cmsg_send()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 1 cmsg 4096-ptr_max
PARAM_VALUE 1 cmsg->cmsg_len 16-u64max
PARAM_VALUE 1 cmsg->cmsg_level 1
PARAM_VALUE 2 sockc 325024513322582016,2007998961182048256,2028865319573905408,3148177575769989120,4732871205469659136,5569145794011197440,5798240594105733120
BUF_SIZE 1 cmsg (-1)-0,16,24,36-s32max
BUF_SIZE 1 cmsg (-1)-0,16,24,36-s32max
CAPPED_DATA 1 cmsg->cmsg_len 1
DATA_SOURCE 0 sk $0
DATA_SOURCE 2 sockc $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 cmsg->cmsg_len 16-s32max[c]
USER_DATA 1 cmsg->cmsg_type s32min-s32max
USER_DATA 2 sockc->dmabuf_id 0-u32max
USER_DATA 2 sockc->mark 0-u32max
USER_DATA 2 sockc->priority 0-u32max
USER_DATA 2 sockc->transmit_time 0-9223372036854775807
USER_DATA 2 sockc->ts_opt_id 0-u32max
USER_DATA 2 sockc->tsflags 0-u32max[c][u]
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
UNITS 0 sk unit_byte
USER_PTR 1 cmsg
HALF_LOCKED2 &po->pg_vec_lock
HALF_LOCKED2 rcu_read