Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
net/ipv4/tcp_input.c tcp_prune_queue() -> tcp_prune_ofo_queue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->__sk_common.skc_prot | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_backlog.rmem_alloc.counter | 1-s32max |
| PARAM_VALUE | 0 | sk->sk_memcg | 1-u64max |
| PARAM_VALUE | 0 | sk->sk_rcvbuf | 0-2147483646 |
| PARAM_VALUE | 0 | sk->sk_receive_queue.next | 4096-ptr_max |
| PARAM_VALUE | 1 | in_skb | 4096-ptr_max |
| PARAM_VALUE | 1 | in_skb->dev->ethtool_ops->supported_coalesce_params | 0-4294967295 |
| PARAM_VALUE | 1 | in_skb->dev->rtnl_link_ops->priv_size | 0,8,32,40,48,56,88,112,120,144,160,224,240,256,296,616,624,728,736,744,1056,1128,1336,1616,2176,2240,2272,2560,3296,3720,9688-u64max |
| PARAM_VALUE | 1 | *in_skb->dev->name | 0-255 |
| BUF_SIZE | 0 | sk->__sk_common.skc_prot | (-1),448 |
| BUF_SIZE | 1 | in_skb | (-1)-s32max |
| BUF_SIZE | 1 | in_skb | (-1)-s32max |
| CAPPED_DATA | 0 | sk | 1 |
| CAPPED_DATA | 0 | sk->__sk_common.skc_net.net | 1 |
| CAPPED_DATA | 0 | sk->sk_backlog.rmem_alloc.counter | 1 |
| CAPPED_DATA | 0 | sk->sk_rcvbuf | 1 |
| CAPPED_DATA | 0 | sk->sk_receive_queue.next | 1 |
| CAPPED_DATA | 0 | &sk->sk_receive_queue | 1 |
| CAPPED_DATA | 1 | in_skb->data_len | 1 |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 1 | in_skb | $1 |
| PARAM_COMPARE | 0 | sk->sk_backlog.rmem_alloc.counter | > $0->sk_rcvbuf |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | in_skb->csum | 0-4294967040[c] |
| HOST_DATA | 1 | in_skb->csum_offset | 0-u16max |
| HOST_DATA | 1 | in_skb->data_len | 0-u32max[c] |
| HOST_DATA | 1 | in_skb->prev->csum_offset | 0-u16max |
| HOST_DATA | 1 | in_skb->prev->data_len | 0-u32max[c] |
| HOST_DATA | 1 | in_skb->prev->len | 1-u32max[c] |
| HOST_DATA | 1 | in_skb->prev->tstamp | 500000002-4294967299794967295[c] |
| HOST_DATA | 1 | in_skb->tstamp | 500000002-4294967299794967295[c] |
| HOST_DATA | 1 | in_skb->users.refs.counter | s32min-0,2-s32max |
| HOST_DATA | 1 | *in_skb->data | 0-255 |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.head->end | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.head->len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.tail->end | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.tail->len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.tail->next->end | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.tail->next->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 | 0 | sk->sk_write_queue.prev->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.prev->len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.prev->next->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.prev->next->len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.prev->next->truesize | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.prev->truesize | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->data_len | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->group | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->num_tc | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->real_num_rx_queues | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->real_num_tx_queues | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->stats.rx_bytes | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->stats.tx_bytes | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->tx_queue_len | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->end | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->len | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->next->end | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->next->len | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->next->tail | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->next->truesize | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->prev->end | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->prev->len | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->prev->tail | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->prev->truesize | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->sk->sk_backlog.len | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->tail | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->truesize | |
| UNITS | 0 | sk | unit_byte |
| UNITS | 1 | in_skb | unit_byte |
| HALF_LOCKED2 | 0 | sk | |
| HALF_LOCKED2 | 0 | &sk->sk_lock.slock |
net/ipv4/tcp_input.c tcp_try_rmem_schedule() -> tcp_prune_ofo_queue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->__sk_common.skc_prot | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->__sk_common.skc_prot->memory_allocated | 1-u64max |
| PARAM_VALUE | 0 | sk->sk_backlog.rmem_alloc.counter | 0-s32max |
| PARAM_VALUE | 0 | sk->sk_memcg | 1-u64max |
| PARAM_VALUE | 0 | sk->sk_memcg->high_work.entry.next | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_memcg->high_work.entry.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_memcg->tcpmem_pressure | 0-1 |
| PARAM_VALUE | 0 | sk->sk_sndbuf | s32min-(-1),4608-s32max |
| PARAM_VALUE | 0 | *sk->__sk_common.skc_prot->memory_pressure | 1-u64max |
| PARAM_VALUE | 1 | in_skb | 4096-ptr_max |
| PARAM_VALUE | 1 | in_skb->dev->rtnl_link_ops->priv_size | 0,8,32,48,56,88,112,120,144,160,224,240,256,296,616,624,728,736,744,1056,1128,1336,1616,2176,2240,2272,2560,3296,3720,9688-u64max |
| PARAM_VALUE | 1 | *in_skb->dev->name | 0-255 |
| BUF_SIZE | 0 | sk->__sk_common.skc_prot | (-1),448 |
| BUF_SIZE | 1 | in_skb | (-1)-s32max |
| BUF_SIZE | 1 | in_skb | (-1)-s32max |
| CAPPED_DATA | 0 | sk | 1 |
| CAPPED_DATA | 0 | sk->__sk_common.skc_net.net | 1 |
| CAPPED_DATA | 1 | in_skb->data_len | 1 |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 1 | in_skb | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 1 | in_skb->csum | 0-4294967040[c] |
| HOST_DATA | 1 | in_skb->csum_offset | 0-u16max |
| HOST_DATA | 1 | in_skb->data_len | 0-u32max[c] |
| HOST_DATA | 1 | in_skb->prev->csum_offset | 0-u16max |
| HOST_DATA | 1 | in_skb->prev->data_len | 0-u32max[c] |
| HOST_DATA | 1 | in_skb->prev->len | 1-u32max[c] |
| HOST_DATA | 1 | in_skb->prev->tstamp | 500000002-4294967299794967295[c] |
| HOST_DATA | 1 | in_skb->tstamp | 500000002-4294967299794967295[c] |
| HOST_DATA | 1 | in_skb->users.refs.counter | s32min-0,2-s32max |
| HOST_DATA | 1 | *in_skb->data | 0-255 |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.head->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.head->end | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.head->len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.tail->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.tail->end | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.tail->len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.tail->next->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.tail->next->end | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_backlog.tail->next->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 | 0 | sk->sk_write_queue.prev->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.prev->len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.prev->next->data_len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.prev->next->len | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.prev->next->truesize | |
| NO_OVERFLOW_SIMPLE | 0 | sk->sk_write_queue.prev->truesize | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->data_len | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->group | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->num_tc | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->proto_down | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->real_num_rx_queues | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->real_num_tx_queues | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->stats.rx_bytes | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->stats.tx_bytes | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->dev->tx_queue_len | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->end | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->len | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->next->data_len | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->next->end | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->next->len | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->next->tail | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->next->truesize | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->prev->end | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->prev->len | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->prev->tail | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->prev->truesize | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->sk->sk_backlog.len | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->tail | |
| NO_OVERFLOW_SIMPLE | 1 | in_skb->truesize | |
| UNITS | 0 | sk | unit_byte |
| UNITS | 1 | in_skb | unit_byte |
| HALF_LOCKED2 | 0 | sk | |
| HALF_LOCKED2 | 0 | &sk->sk_lock.slock |