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 |