Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

net/l2tp/l2tp_ip6.c l2tp_ip6_recvmsg() -> ip6_datagram_recv_ctl()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->sk_receive_queue.next->sk->ns_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 sk->sk_receive_queue.next->sk->ns_tracker->dead 0-1
PARAM_VALUE 0 sk->sk_receive_queue.next->sk->ns_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 1 msg 4096-ptr_max
PARAM_VALUE 1 msg->msg_control->cmsg_level 0-1,6,17,41,101,107,132,263,268,270-272,274,276,282,287
PARAM_VALUE 1 msg->msg_control->cmsg_type 1-9,11-13,15-16,20,23,25,29,35-37,40-41,50,52,54,57-59,61,63-65,67,74,77-79,104
PARAM_VALUE 1 msg->msg_name 0,4096-ptr_max
PARAM_VALUE 2 skb 4096-ptr_max
PARAM_VALUE 2 skb->tstamp_type 0
BUF_SIZE 1 msg->msg_name (-1)-0,12,128
BUF_SIZE 2 skb (-1),1-s32max
BUF_SIZE 2 skb (-1),1-s32max
DATA_SOURCE 0 sk $0
DATA_SOURCE 1 msg $1
DATA_SOURCE 2 skb r skb_recv_datagram
NOSPEC 1 msg->msg_iter.count
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 msg->msg_control 4096-ptr_max[c][u]
USER_DATA 1 msg->msg_control_user 4096-ptr_max[c][u]
USER_DATA 1 msg->msg_controllen 0-u64max
USER_DATA 1 msg->msg_flags 0-u32max[c]
USER_DATA 1 msg->msg_iter.count 0-u64max
USER_DATA 1 msg->msg_iter.iov_offset 0-u64max[c]
USER_DATA 1 *msg->msg_name s64min-s64max
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 2 skb->data
UNITS 0 sk unit_byte

net/ipv6/ipv6_sockglue.c do_ipv6_getsockopt() -> ip6_datagram_recv_ctl()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->sk_type 1
PARAM_VALUE 1 msg 8751802730641989632
PARAM_VALUE 1 msg->msg_controllen 0-s32max,18446744071562067968-u64max
PARAM_VALUE 1 msg->msg_flags 0
PARAM_VALUE 2 skb 1-u64max
DATA_SOURCE 0 sk $0
RX_PATH
NOCHECK_CALL
USER_DATA 1 msg->msg_controllen 0-s32max,18446744071562067968-u64max
HALF_LOCKED2 0 sk

net/ipv6/raw.c rawv6_recvmsg() -> ip6_datagram_recv_ctl()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->sk_receive_queue.next->sk->ns_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 sk->sk_receive_queue.next->sk->ns_tracker->dead 0-1
PARAM_VALUE 0 sk->sk_receive_queue.next->sk->ns_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 sk->sk_stamp s64min-(-1000000001),(-999999999)-s64max
PARAM_VALUE 1 msg 4096-ptr_max
PARAM_VALUE 1 msg->msg_control 4096-ptr_max
PARAM_VALUE 1 msg->msg_control->cmsg_level 0-1,6,17,41,101,107,132,263,268,270-272,274,276,282,287
PARAM_VALUE 1 msg->msg_control->cmsg_type 1-9,11-13,15-16,20,23,25,29,35-37,40-41,50,52,54,57-59,61,63-65,67,74,77-79,104
PARAM_VALUE 1 msg->msg_control_user 4096-ptr_max
PARAM_VALUE 1 msg->msg_name 0,4096-ptr_max
PARAM_VALUE 2 skb 4096-ptr_max
PARAM_VALUE 2 skb->tstamp_type 0
BUF_SIZE 1 msg->msg_name (-1)-0,12,128
BUF_SIZE 2 skb (-1),1-s32max
BUF_SIZE 2 skb (-1),1-s32max
DATA_SOURCE 0 sk $0
DATA_SOURCE 1 msg $1
DATA_SOURCE 2 skb r skb_recv_datagram
NOSPEC 1 msg->msg_iter.count
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 msg->msg_control 4096-ptr_max[c][u]
USER_DATA 1 msg->msg_control_user 4096-ptr_max[c][u]
USER_DATA 1 msg->msg_controllen 0-u64max
USER_DATA 1 msg->msg_flags 0-u32max[c]
USER_DATA 1 msg->msg_iter.count 0-u64max
USER_DATA 1 msg->msg_iter.iov_offset 0-u64max[c]
USER_DATA 1 *msg->msg_name s64min-s64max
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 2 skb->data
UNITS 0 sk unit_byte