Defined in 1 files as a function:

Referenced in 10 files:

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