Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 11 files:
- drivers/net/tun.c, line 2719
- net/bluetooth/iso.c, line 1730
- net/bluetooth/l2cap_sock.c, line 1222
- net/bluetooth/sco.c, line 949
- net/can/j1939/socket.c, line 832
- net/can/raw.c, line 1027
- net/core/sock.c, line 3996
- net/packet/af_packet.c, line 3458
- net/rds/recv.c, line 705
- net/tls/tls_sw.c, line 1830
- net/vmw_vsock/af_vsock.c, line 2548
Smatch caller information:
net/can/raw.c raw_recvmsg() -> sock_recv_errqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 3 | level | 101 |
| PARAM_VALUE | 4 | type | 1 |
| BUF_SIZE | 1 | msg->msg_control | (-1)-0,16-17,24 |
| BUF_SIZE | 1 | msg->msg_name | (-1)-0,12,128 |
| DATA_SOURCE | 1 | msg | $1 |
| DATA_SOURCE | 2 | len | $2 |
| NOSPEC | 1 | msg->msg_iter.count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | msg->msg_control | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_control_user | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_controllen | 0-u64max |
| USER_DATA | 1 | msg->msg_flags | 0-u32max[c] |
| USER_DATA | 1 | msg->msg_iter.count | 0-u64max |
| USER_DATA | 1 | msg->msg_iter.iov_offset | 0-u64max[c] |
| USER_DATA | 1 | *msg->msg_name | s64min-s64max |
| USER_DATA | 2 | len | s32min-s32max |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| UNITS | 0 | sk | unit_byte |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
net/packet/af_packet.c packet_recvmsg() -> sock_recv_errqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 3 | level | 263 |
| PARAM_VALUE | 4 | type | 16 |
| BUF_SIZE | 1 | msg->msg_control | (-1)-0,16-17,24 |
| BUF_SIZE | 1 | msg->msg_name | (-1)-0,12,128 |
| DATA_SOURCE | 1 | msg | $1 |
| DATA_SOURCE | 2 | len | $2 |
| NOSPEC | 1 | msg->msg_iter.count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | msg->msg_control | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_control_user | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_controllen | 0-u64max |
| USER_DATA | 1 | msg->msg_flags | 0-u32max[c] |
| USER_DATA | 1 | msg->msg_iter.count | 0-u64max |
| USER_DATA | 1 | msg->msg_iter.iov_offset | 0-u64max[c] |
| USER_DATA | 1 | *msg->msg_name | s64min-s64max |
| USER_DATA | 2 | len | s32min-s32max |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| UNITS | 0 | sk | unit_byte |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
net/bluetooth/sco.c sco_sock_recvmsg() -> sock_recv_errqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 3 | level | 274 |
| PARAM_VALUE | 4 | type | 4 |
| BUF_SIZE | 1 | msg->msg_control | (-1)-0,16-17,24 |
| BUF_SIZE | 1 | msg->msg_name | (-1)-0,12,128 |
| DATA_SOURCE | 1 | msg | $1 |
| DATA_SOURCE | 2 | len | $2 |
| NOSPEC | 1 | msg->msg_iter.count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | msg->msg_control | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_control_user | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_controllen | 0-u64max |
| USER_DATA | 1 | msg->msg_flags | 0-u32max[c] |
| USER_DATA | 1 | msg->msg_iter.count | 0-u64max |
| USER_DATA | 1 | msg->msg_iter.iov_offset | 0-u64max[c] |
| USER_DATA | 1 | *msg->msg_name | s64min-s64max |
| USER_DATA | 2 | len | s32min-s32max |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| UNITS | 0 | sk | unit_byte |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
net/bluetooth/l2cap_sock.c l2cap_sock_recvmsg() -> sock_recv_errqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 3 | level | 274 |
| PARAM_VALUE | 4 | type | 4 |
| BUF_SIZE | 1 | msg->msg_control | (-1)-0,16-17,24 |
| BUF_SIZE | 1 | msg->msg_name | (-1)-0,12,128 |
| DATA_SOURCE | 1 | msg | $1 |
| DATA_SOURCE | 2 | len | $2 |
| NOSPEC | 1 | msg->msg_iter.count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | msg->msg_control | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_control_user | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_controllen | 0-u64max |
| USER_DATA | 1 | msg->msg_flags | 0-u32max[c] |
| USER_DATA | 1 | msg->msg_iter.count | 0-u64max |
| USER_DATA | 1 | msg->msg_iter.iov_offset | 0-u64max[c] |
| USER_DATA | 1 | *msg->msg_name | s64min-s64max |
| USER_DATA | 2 | len | s32min-s32max |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| UNITS | 0 | sk | unit_byte |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
net/tls/tls_sw.c tls_sw_recvmsg() -> sock_recv_errqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 3 | level | 0 |
| PARAM_VALUE | 4 | type | 11 |
| BUF_SIZE | 1 | msg->msg_control | (-1)-0,16-17,24 |
| BUF_SIZE | 1 | msg->msg_name | (-1)-0,12,128 |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 1 | msg | $1 |
| DATA_SOURCE | 2 | len | $2 |
| NOSPEC | 1 | msg->msg_iter.count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | msg->msg_control | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_control_user | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_controllen | 0-u64max |
| USER_DATA | 1 | msg->msg_flags | 0-u32max[c] |
| USER_DATA | 1 | msg->msg_iter.count | 0-u64max |
| USER_DATA | 1 | msg->msg_iter.iov_offset | 0-u64max[c] |
| USER_DATA | 1 | *msg->msg_name | s64min-s64max |
| 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 |
net/vmw_vsock/af_vsock.c __vsock_connectible_recvmsg() -> sock_recv_errqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 3 | level | 287 |
| PARAM_VALUE | 4 | type | 1 |
| BUF_SIZE | 1 | msg->msg_control | (-1)-0,16-17,24 |
| BUF_SIZE | 1 | msg->msg_name | (-1)-0,12,128 |
| DATA_SOURCE | 1 | msg | $1 |
| DATA_SOURCE | 2 | len | $2 |
| NOSPEC | 1 | msg->msg_iter.count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | msg->msg_control | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_control_user | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_controllen | 0-u64max |
| USER_DATA | 1 | msg->msg_flags | 0-u32max[c] |
| USER_DATA | 1 | msg->msg_iter.count | 0-u64max |
| USER_DATA | 1 | msg->msg_iter.iov_offset | 0-u64max[c] |
| USER_DATA | 1 | *msg->msg_name | s64min-s64max |
| USER_DATA | 2 | len | s32min-s32max |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| UNITS | 0 | sk | unit_byte |
| UNITS | 2 | len | unit_byte |
net/bluetooth/iso.c iso_sock_recvmsg() -> sock_recv_errqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 3 | level | 274 |
| PARAM_VALUE | 4 | type | 4 |
| BUF_SIZE | 1 | msg->msg_control | (-1)-0,16-17,24 |
| BUF_SIZE | 1 | msg->msg_name | (-1)-0,12,128 |
| DATA_SOURCE | 1 | msg | $1 |
| DATA_SOURCE | 2 | len | $2 |
| NOSPEC | 1 | msg->msg_iter.count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | msg->msg_control | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_control_user | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_controllen | 0-u64max |
| USER_DATA | 1 | msg->msg_flags | 0-u32max[c] |
| USER_DATA | 1 | msg->msg_iter.count | 0-u64max |
| USER_DATA | 1 | msg->msg_iter.iov_offset | 0-u64max[c] |
| USER_DATA | 1 | *msg->msg_name | s64min-s64max |
| USER_DATA | 2 | len | s32min-s32max |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| UNITS | 0 | sk | unit_byte |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
drivers/net/tun.c tun_recvmsg() -> sock_recv_errqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 3 | level | 263 |
| PARAM_VALUE | 4 | type | 1 |
| BUF_SIZE | 1 | msg->msg_control | (-1)-0,16-17,24 |
| BUF_SIZE | 1 | msg->msg_name | (-1)-0,12,128 |
| DATA_SOURCE | 1 | msg | $1 |
| DATA_SOURCE | 2 | len | $2 |
| NOSPEC | 1 | msg->msg_iter.count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | msg->msg_control | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_control_user | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_controllen | 0-u64max |
| USER_DATA | 1 | msg->msg_flags | 0-u32max[c] |
| USER_DATA | 1 | msg->msg_iter.count | 0-u64max |
| USER_DATA | 1 | msg->msg_iter.iov_offset | 0-u64max[c] |
| USER_DATA | 1 | *msg->msg_name | s64min-s64max |
| USER_DATA | 2 | len | s32min-s32max |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.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->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 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
net/rds/recv.c rds_recvmsg() -> sock_recv_errqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 3 | level | 0 |
| PARAM_VALUE | 4 | type | 11 |
| BUF_SIZE | 1 | msg->msg_control | (-1)-0,16-17,24 |
| BUF_SIZE | 1 | msg->msg_name | (-1)-0,12,128 |
| DATA_SOURCE | 1 | msg | $1 |
| DATA_SOURCE | 2 | len | $2 |
| NOSPEC | 1 | msg->msg_iter.count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | msg->msg_control | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_control_user | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_controllen | 0-u64max |
| USER_DATA | 1 | msg->msg_flags | 0-u32max[c] |
| USER_DATA | 1 | msg->msg_iter.count | 0-u64max |
| USER_DATA | 1 | msg->msg_iter.iov_offset | 0-u64max[c] |
| USER_DATA | 1 | *msg->msg_name | s64min-s64max |
| USER_DATA | 2 | len | s32min-s32max |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| UNITS | 0 | sk | unit_byte |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
net/can/j1939/socket.c j1939_sk_recvmsg() -> sock_recv_errqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 3 | level | 107 |
| PARAM_VALUE | 4 | type | 4 |
| BUF_SIZE | 1 | msg->msg_control | (-1)-0,16-17,24 |
| BUF_SIZE | 1 | msg->msg_name | (-1)-0,12,128 |
| DATA_SOURCE | 1 | msg | $1 |
| DATA_SOURCE | 2 | len | $2 |
| NOSPEC | 1 | msg->msg_iter.count | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | msg->msg_control | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_control_user | 4096-ptr_max[c][u] |
| USER_DATA | 1 | msg->msg_controllen | 0-u64max |
| USER_DATA | 1 | msg->msg_flags | 0-u32max[c] |
| USER_DATA | 1 | msg->msg_iter.count | 0-u64max |
| USER_DATA | 1 | msg->msg_iter.iov_offset | 0-u64max[c] |
| USER_DATA | 1 | *msg->msg_name | s64min-s64max |
| USER_DATA | 2 | len | s32min-s32max |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.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->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 | &vq->mutex | ||
| HALF_LOCKED2 | sk |