Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
- drivers/net/ovpn/tcp.c, line 178
- net/core/datagram.c
- net/vmw_vsock/virtio_transport_common.c, line 1937
- net/xfrm/espintcp.c, line 147
Smatch caller information:
net/core/datagram.c skb_recv_datagram() -> __skb_recv_datagram()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk->channel | 0-u16max |
| PARAM_VALUE | 1 | sk_queue | 4096-ptr_max |
| PARAM_VALUE | 3 | off | 835323601777360896 |
| PARAM_VALUE | 3 | *off | 0 |
| PARAM_VALUE | 4 | err | 4096-ptr_max |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 2 | flags | $1 |
| DATA_SOURCE | 4 | err | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | flags | 0-u32max |
| 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->end | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_receive_queue.prev->len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_receive_queue.prev->next->data_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->data_len | |
| 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->data_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 | &u->iolock | ||
| HALF_LOCKED2 | 0 | sk |
net/xfrm/espintcp.c espintcp_recvmsg() -> __skb_recv_datagram()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | sk_queue | 4096-ptr_max |
| PARAM_VALUE | 3 | off | 2884922768122908672 |
| PARAM_VALUE | 3 | *off | 0 |
| PARAM_VALUE | 4 | err | 3340375851335933952 |
| PARAM_VALUE | 4 | *err | 0 |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 2 | flags | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | flags | 0-u32max |
| 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 |
net/vmw_vsock/virtio_transport_common.c virtio_transport_read_skb() -> __skb_recv_datagram()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | sk_queue | 4096-ptr_max |
| PARAM_VALUE | 2 | flags | 64 |
| PARAM_VALUE | 3 | off | 3357255753709056000 |
| PARAM_VALUE | 3 | *off | 0 |
| PARAM_VALUE | 4 | err | 5171784273637830656 |
| BUF_SIZE | 0 | sk | 1480 |
| LOCK2 | &vvs->rx_lock | ||
| LOCK2 | bh | ||
| TYPE_LOCK | (struct virtio_vsock_sock)->rx_lock |
drivers/net/ovpn/tcp.c ovpn_tcp_recvmsg() -> __skb_recv_datagram()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | sk_queue | 4096-ptr_max |
| PARAM_VALUE | 3 | off | 7374506129347215360 |
| PARAM_VALUE | 4 | err | 249132253681164288 |
| PARAM_VALUE | 4 | *err | 0 |
| CAPPED_DATA | 0 | sk->sk_user_data | 1 |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 2 | flags | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | flags | 0-u32max |
| 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 |