Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

net/ipv6/datagram.c ip_cmsg_recv() -> ip_cmsg_recv_offset()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->msg_control->cmsg_level 0-1,6,17,41,101,107,132,263,268,270-272,274,276,282,287
PARAM_VALUE 0 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 2 skb 4096-ptr_max
PARAM_VALUE 2 skb->cb 4096-ptr_max
PARAM_VALUE 2 skb->cb->ee.ee_origin 0,2-6
PARAM_VALUE 2 skb->next 0
PARAM_VALUE 2 skb->prev 0
PARAM_VALUE 2 skb->protocol 0-34524,34526-u16max
PARAM_VALUE 2 skb->tstamp_type 0
PARAM_VALUE 3 tlen 0
PARAM_VALUE 4 offset 0
BUF_SIZE 0 msg->msg_name (-1)-0,12,128
DATA_SOURCE 0 msg $0
DATA_SOURCE 2 skb $1
NOSPEC 0 msg->msg_iter.count
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 msg->msg_control 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_control_user 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_controllen 0-u64max
USER_DATA 0 msg->msg_flags 0-u32max[c]
USER_DATA 0 msg->msg_iter.count 0-u64max
USER_DATA 0 msg->msg_iter.iov_offset 0-u64max[c]
USER_DATA 0 *msg->msg_name s64min-s64max
NO_OVERFLOW_SIMPLE 2 skb->data
UNITS 1 sk unit_byte

net/ipv4/ping.c ip_cmsg_recv() -> ip_cmsg_recv_offset()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->msg_control->cmsg_level 0-1,6,17,41,101,107,132,263,268,270-272,274,276,282,287
PARAM_VALUE 0 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 0 msg->msg_name 0,4096-ptr_max
PARAM_VALUE 2 skb 4096-ptr_max
PARAM_VALUE 2 skb->tstamp_type 0
PARAM_VALUE 3 tlen 0
PARAM_VALUE 4 offset 0
BUF_SIZE 0 msg->msg_name (-1)-0,12,128
BUF_SIZE 2 skb (-1),1-s32max
BUF_SIZE 2 skb (-1),1-s32max
DATA_SOURCE 0 msg $0
DATA_SOURCE 2 skb $1
NOSPEC 0 msg->msg_iter.count
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 msg->msg_control 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_control_user 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_controllen 0-u64max
USER_DATA 0 msg->msg_flags 0-u32max[c]
USER_DATA 0 msg->msg_iter.count 0-u64max
USER_DATA 0 msg->msg_iter.iov_offset 0-u64max[c]
USER_DATA 0 *msg->msg_name s64min-s64max
NO_OVERFLOW_SIMPLE 2 skb->data
UNITS 1 sk unit_byte

net/ipv6/udp.c udpv6_recvmsg() -> ip_cmsg_recv_offset()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->msg_control->cmsg_level 0-1,6,17,41,101,107,132,263,268,270-272,274,276,282,287
PARAM_VALUE 0 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 0 msg->msg_name 0,4096-ptr_max
PARAM_VALUE 1 sk 4096-ptr_max
PARAM_VALUE 2 skb 4096-ptr_max
PARAM_VALUE 2 skb->protocol 2048
PARAM_VALUE 2 skb->sk->ns_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 2 skb->sk->ns_tracker->dead 0-1
PARAM_VALUE 2 skb->sk->ns_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 2 skb->tstamp_type 0
PARAM_VALUE 3 tlen 8
PARAM_VALUE 4 offset 0-s32max
BUF_SIZE 0 msg->msg_name (-1)-0,12,128
BUF_SIZE 2 skb (-1),240
BUF_SIZE 2 skb (-1),240
DATA_SOURCE 0 msg $1
DATA_SOURCE 1 sk $0
DATA_SOURCE 2 skb r __skb_recv_udp
NOSPEC 0 msg->msg_iter.count
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 msg->msg_control 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_control_user 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_controllen 0-u64max
USER_DATA 0 msg->msg_flags 0-u32max[c]
USER_DATA 0 msg->msg_iter.count 0-u64max
USER_DATA 0 msg->msg_iter.iov_offset 0-u64max[c]
USER_DATA 0 *msg->msg_name s64min-s64max
NO_OVERFLOW_SIMPLE 1 sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->end
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->len
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->next->end
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->next->len
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->next->tail
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->tail
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->truesize
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->end
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->len
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->prev->end
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->prev->len
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->prev->tail
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->prev->truesize
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->tail
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->truesize
NO_OVERFLOW_SIMPLE 2 skb->data
UNITS 1 sk unit_byte
UNITS 3 tlen unit_byte
UNITS 4 offset unit_byte

net/ipv4/raw.c ip_cmsg_recv() -> ip_cmsg_recv_offset()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->msg_control 4096-ptr_max
PARAM_VALUE 0 msg->msg_control->cmsg_level 0-1,6,17,41,101,107,132,263,268,270-272,274,276,282,287
PARAM_VALUE 0 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 0 msg->msg_control_user 4096-ptr_max
PARAM_VALUE 0 msg->msg_name 0,4096-ptr_max
PARAM_VALUE 2 skb 4096-ptr_max
PARAM_VALUE 2 skb->tstamp_type 0
PARAM_VALUE 3 tlen 0
PARAM_VALUE 4 offset 0
BUF_SIZE 0 msg->msg_name (-1)-0,12,128
BUF_SIZE 2 skb (-1),1-s32max
BUF_SIZE 2 skb (-1),1-s32max
DATA_SOURCE 0 msg $0
DATA_SOURCE 2 skb $1
NOSPEC 0 msg->msg_iter.count
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 msg->msg_control 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_control_user 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_controllen 0-u64max
USER_DATA 0 msg->msg_flags 0-u32max[c]
USER_DATA 0 msg->msg_iter.count 0-u64max
USER_DATA 0 msg->msg_iter.iov_offset 0-u64max[c]
USER_DATA 0 *msg->msg_name s64min-s64max
NO_OVERFLOW_SIMPLE 2 skb->data
UNITS 1 sk unit_byte

net/l2tp/l2tp_ip.c ip_cmsg_recv() -> ip_cmsg_recv_offset()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->msg_control->cmsg_level 0-1,6,17,41,101,107,132,263,268,270-272,274,276,282,287
PARAM_VALUE 0 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 0 msg->msg_name 0,4096-ptr_max
PARAM_VALUE 2 skb 4096-ptr_max
PARAM_VALUE 2 skb->tstamp_type 0
PARAM_VALUE 3 tlen 0
PARAM_VALUE 4 offset 0
BUF_SIZE 0 msg->msg_name (-1)-0,12,128
BUF_SIZE 2 skb (-1),1-s32max
BUF_SIZE 2 skb (-1),1-s32max
DATA_SOURCE 0 msg $0
DATA_SOURCE 2 skb $1
NOSPEC 0 msg->msg_iter.count
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 msg->msg_control 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_control_user 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_controllen 0-u64max
USER_DATA 0 msg->msg_flags 0-u32max[c]
USER_DATA 0 msg->msg_iter.count 0-u64max
USER_DATA 0 msg->msg_iter.iov_offset 0-u64max[c]
USER_DATA 0 *msg->msg_name s64min-s64max
NO_OVERFLOW_SIMPLE 2 skb->data
UNITS 1 sk unit_byte

net/ipv4/ip_sockglue.c ip_cmsg_recv() -> ip_cmsg_recv_offset()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->msg_control->cmsg_level 0-1,6,17,41,101,107,132,263,268,270-272,274,276,282,287
PARAM_VALUE 0 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 2 skb 4096-ptr_max
PARAM_VALUE 2 skb->cb 4096-ptr_max
PARAM_VALUE 2 skb->cb->ee.ee_origin 0,2-6
PARAM_VALUE 2 skb->next 0
PARAM_VALUE 2 skb->prev 0
PARAM_VALUE 2 skb->tstamp_type 0
PARAM_VALUE 3 tlen 0
PARAM_VALUE 4 offset 0
BUF_SIZE 0 msg->msg_name (-1)-0,12,128
DATA_SOURCE 0 msg $0
DATA_SOURCE 2 skb $1
NOSPEC 0 msg->msg_iter.count
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 msg->msg_control 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_control_user 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_controllen 0-u64max
USER_DATA 0 msg->msg_flags 0-u32max[c]
USER_DATA 0 msg->msg_iter.count 0-u64max
USER_DATA 0 msg->msg_iter.iov_offset 0-u64max[c]
USER_DATA 0 *msg->msg_name s64min-s64max
NO_OVERFLOW_SIMPLE 2 skb->data
UNITS 1 sk unit_byte

net/ipv4/udp.c udp_recvmsg() -> ip_cmsg_recv_offset()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->msg_control 4096-ptr_max
PARAM_VALUE 0 msg->msg_control->cmsg_level 0-1,6,17,41,101,107,132,263,268,270-272,274,276,282,287
PARAM_VALUE 0 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 0 msg->msg_control_user 4096-ptr_max
PARAM_VALUE 1 sk 4096-ptr_max
PARAM_VALUE 2 skb 4096-ptr_max
PARAM_VALUE 2 skb->sk->ns_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 2 skb->sk->ns_tracker->dead 0-1
PARAM_VALUE 2 skb->sk->ns_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 2 skb->tstamp_type 0
PARAM_VALUE 3 tlen 8
PARAM_VALUE 4 offset 0-s32max
BUF_SIZE 0 msg->msg_name (-1)-0,12,128
BUF_SIZE 2 skb (-1),240
BUF_SIZE 2 skb (-1),240
DATA_SOURCE 0 msg $1
DATA_SOURCE 1 sk $0
DATA_SOURCE 2 skb r __skb_recv_udp
NOSPEC 0 msg->msg_iter.count
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 msg->msg_control 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_control_user 4096-ptr_max[c][u]
USER_DATA 0 msg->msg_controllen 0-u64max
USER_DATA 0 msg->msg_flags 0-u32max[c]
USER_DATA 0 msg->msg_iter.count 0-u64max
USER_DATA 0 msg->msg_iter.iov_offset 0-u64max[c]
USER_DATA 0 *msg->msg_name s64min-s64max
NO_OVERFLOW_SIMPLE 1 sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->end
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->len
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->next->end
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->next->len
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->next->tail
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->tail
NO_OVERFLOW_SIMPLE 1 sk->sk_receive_queue.prev->truesize
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->end
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->len
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->prev->end
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->prev->len
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->prev->tail
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->prev->truesize
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->tail
NO_OVERFLOW_SIMPLE 1 sk->sk_write_queue.next->truesize
NO_OVERFLOW_SIMPLE 2 skb->data
UNITS 1 sk unit_byte
UNITS 3 tlen unit_byte
UNITS 4 offset unit_byte