Defined in 1 files as a function:
Referenced in 10 files:
- net/bluetooth/af_bluetooth.c, line 459
- net/ipv4/tcp.c
- net/llc/af_llc.c, line 785
- net/mptcp/protocol.c, line 2337
- net/smc/smc_rx.c, line 378
- net/tipc/socket.c, line 2038
- net/tls/tls_sw.c, line 1852
- net/unix/af_unix.c, line 2933
- net/vmw_vsock/af_vsock.c
- net/vmw_vsock/virtio_transport_common.c, line 783
Smatch caller information:
net/smc/smc_rx.c smc_rx_recvmsg() -> sock_rcvlowat()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | waitall | 0,256 |
| BUF_SIZE | 0 | sk | 1480 |
| DATA_SOURCE | 2 | len | $3 |
| BIT_INFO | 1 | waitall | 0x0,0x100 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | waitall | 0,256[c] |
| USER_DATA | 2 | len | s32min-s32max |
| LOCK2 | sk |
net/tipc/socket.c tipc_recvstream() -> sock_rcvlowat()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | waitall | 0,256 |
| DATA_SOURCE | 2 | len | $2 |
| BIT_INFO | 1 | waitall | 0x0,0x100 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | waitall | 0,256[c] |
| USER_DATA | 2 | len | s32min-s32max |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| UNITS | 0 | sk | unit_byte |
| LOCK2 | 0 | sk | |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
net/ipv4/tcp.c tcp_poll() -> sock_rcvlowat()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | waitall | 0 |
| PARAM_VALUE | 2 | len | s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sk | unit_byte |
| HALF_LOCKED2 | &pool->lock |
net/ipv4/tcp.c tcp_recvmsg_locked() -> sock_rcvlowat()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | waitall | 0,256 |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 2 | len | $2 |
| BIT_INFO | 1 | waitall | 0x0,0x100 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | waitall | 0,256[c] |
| USER_DATA | 2 | len | s32min-s32max |
| 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 |
| UNITS | 2 | len | unit_byte |
| HALF_LOCKED2 | 0 | sk |
net/llc/af_llc.c llc_ui_recvmsg() -> sock_rcvlowat()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | waitall | 0,256 |
| DATA_SOURCE | 2 | len | $2 |
| BIT_INFO | 1 | waitall | 0x0,0x100 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | waitall | 0,256[c] |
| USER_DATA | 2 | len | s32min-s32max |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| UNITS | 0 | sk | unit_byte |
| LOCK2 | 0 | sk | |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
net/unix/af_unix.c unix_stream_read_generic() -> sock_rcvlowat()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | waitall | 0,256 |
| BIT_INFO | 1 | waitall | 0x0,0x100 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | waitall | 0,256[c] |
| USER_DATA | 2 | len | s32min-s32max |
| UNITS | 0 | sk | unit_byte |
| UNITS | 2 | len | unit_byte |
net/tls/tls_sw.c tls_sw_recvmsg() -> sock_rcvlowat()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | waitall | 0,256 |
| CAPPED_DATA | 0 | sk | 1 |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 2 | len | $2 |
| BIT_INFO | 1 | waitall | 0x0,0x100 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | waitall | 0,256[c] |
| USER_DATA | 2 | len | s32min-s32max |
| 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 |
| UNITS | 2 | len | unit_byte |
net/mptcp/protocol.c mptcp_recvmsg() -> sock_rcvlowat()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | waitall | 0,256 |
| PARAM_VALUE | 2 | len | 0-s32max |
| CAPPED_DATA | 2 | len | 1 |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 2 | len | $2 [m] |
| BIT_INFO | 1 | waitall | 0x0,0x100 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | waitall | 0,256[c] |
| USER_DATA | 2 | len | 1-2147483646[c] |
| 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 |
| UNITS | 2 | len | unit_byte |
| LOCK2 | 0 | sk |
net/vmw_vsock/af_vsock.c __vsock_stream_recvmsg() -> sock_rcvlowat()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | waitall | 0,256 |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 2 | len | $2 |
| BIT_INFO | 0 | sk->sk_shutdown | 0x0,0xfe |
| BIT_INFO | 1 | waitall | 0x0,0x100 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | waitall | 0,256[c] |
| USER_DATA | 2 | len | s32min-s32max |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| UNITS | 0 | sk | unit_byte |
| UNITS | 2 | len | unit_byte |
| LOCK2 | 0 | sk |
net/vmw_vsock/af_vsock.c vsock_poll() -> sock_rcvlowat()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | waitall | 0 |
| PARAM_VALUE | 2 | len | s32max |
| CAPPED_DATA | 0 | &sk->sk_error_queue | 1 |
| BIT_INFO | 0 | sk->sk_shutdown | 0x0,0xfe |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sk | unit_byte |
| LOCK2 | 0 | sk | |
| HALF_LOCKED2 | &pool->lock |
net/bluetooth/af_bluetooth.c bt_sock_stream_recvmsg() -> sock_rcvlowat()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | waitall | 0,256 |
| DATA_SOURCE | 2 | len | $2 |
| BIT_INFO | 1 | waitall | 0x0,0x100 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | waitall | 0,256[c] |
| USER_DATA | 2 | len | s32min-s32max |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| UNITS | 0 | sk | unit_byte |
| LOCK2 | 0 | sk | |
| HALF_LOCKED2 | &vq->mutex |
net/vmw_vsock/virtio_transport_common.c virtio_transport_stream_do_dequeue() -> sock_rcvlowat()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | waitall | 0 |
| PARAM_VALUE | 2 | len | s32max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| LOCK2 | &vvs->rx_lock | ||
| LOCK2 | bh | ||
| LOCK2 | sk | ||
| TYPE_LOCK | (struct virtio_vsock_sock)->rx_lock |