Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/core/datagram.c __skb_recv_datagram() -> __skb_wait_for_more_packets()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->channel 0-u16max
PARAM_VALUE 1 queue 4096-ptr_max
PARAM_VALUE 2 err 4096-ptr_max
PARAM_VALUE 2 *err (-11)
PARAM_VALUE 3 timeo_p 683879054200365056
PARAM_VALUE 3 *timeo_p s64min-(-1),1-s64max
BUF_SIZE 0 sk (-1),1480
BUF_SIZE 0 sk (-1),1480
DATA_SOURCE 0 sk $0
DATA_SOURCE 1 queue $1
DATA_SOURCE 2 err $4
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 4 skb->end
NO_OVERFLOW_SIMPLE 4 skb->len
NO_OVERFLOW_SIMPLE 4 skb->tail
NO_OVERFLOW_SIMPLE 4 skb->truesize
UNITS 0 sk unit_byte
HALF_LOCKED2 &vvs->rx_lock
HALF_LOCKED2 bh
HALF_LOCKED2 0 sk

net/unix/af_unix.c __unix_dgram_recvmsg() -> __skb_wait_for_more_packets()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 1 queue 4096-ptr_max
PARAM_VALUE 2 err 8792617842841493504
PARAM_VALUE 2 *err (-11)
PARAM_VALUE 3 timeo_p 9188175392459902976
PARAM_VALUE 3 *timeo_p s64min-(-1),1-s64max
DATA_SOURCE 0 sk $0
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 4 skb->end
NO_OVERFLOW_SIMPLE 4 skb->len
NO_OVERFLOW_SIMPLE 4 skb->tail
NO_OVERFLOW_SIMPLE 4 skb->truesize
UNITS 0 sk unit_byte

net/ipv4/udp.c __skb_recv_udp() -> __skb_wait_for_more_packets()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->sk_receive_queue.next 4096-ptr_max
PARAM_VALUE 1 queue 4096-ptr_max
PARAM_VALUE 1 queue->next 4096-ptr_max
PARAM_VALUE 2 err 6566990507886026752
PARAM_VALUE 2 *err (-11)
PARAM_VALUE 3 timeo_p 6368465965074333696
PARAM_VALUE 3 *timeo_p s64min-(-1),1-s64max
PARAM_VALUE 4 skb 4096-ptr_max
BUF_SIZE 4 skb 96
BUF_SIZE 4 skb 96
CAPPED_DATA 4 skb 1
DATA_SOURCE 0 sk $0
PARAM_COMPARE 0 &sk->sk_receive_queue == $4
PARAM_COMPARE 1 queue == $4
PARAM_COMPARE 4 skb == $1
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
UNITS 0 sk unit_byte
HALF_LOCKED2 &transport->recv_mutex