Defined in 1 files as a function:
Referenced in 4 files:
- include/net/tcp.h, line 1247
- net/core/skbuff.c, line 4287
- net/ipv4/tcp_offload.c, line 328
- net/tls/tls_strp.c
Smatch caller information:
net/ipv4/tcp_ipv4.c tcp_skb_can_collapse_rx() -> skb_cmp_decrypted()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | skb1 | 4096-ptr_max |
| PARAM_VALUE | 1 | skb2 | 4096-ptr_max |
| BUF_SIZE | 1 | skb2 | (-1)-s32max |
| BUF_SIZE | 1 | skb2 | (-1)-s32max |
| CAPPED_DATA | 1 | skb2 | 1 |
| CAPPED_DATA | 1 | skb2->len | 1 |
| DATA_SOURCE | 0 | skb1 | $0 |
| DATA_SOURCE | 1 | skb2 | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 1 | skb2->csum | 0-4294967040[c] |
| HOST_DATA | 1 | skb2->csum_offset | 0-u16max |
| HOST_DATA | 1 | skb2->prev->csum_offset | 0-u16max |
| HOST_DATA | 1 | skb2->prev->data_len | 0-u32max[c] |
| HOST_DATA | 1 | skb2->prev->len | 1-u32max[c] |
| HOST_DATA | 1 | skb2->prev->tstamp | 500000002-4294967299794967295[c] |
| HOST_DATA | 1 | skb2->tstamp | 500000002-4294967299794967295[c] |
| HOST_DATA | 1 | skb2->users.refs.counter | s32min-0,2-s32max |
| HOST_DATA | 1 | *skb2->data | 0-255 |
| NO_OVERFLOW_SIMPLE | 1 | skb2->data_len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->group | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->num_tc | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->proto_down | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->real_num_rx_queues | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->real_num_tx_queues | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->stats.rx_bytes | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->stats.tx_bytes | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->tx_queue_len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->end | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->next->end | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->next->len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->next->tail | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->next->truesize | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->prev->data_len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->prev->end | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->prev->len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->prev->tail | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->prev->truesize | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->sk->sk_backlog.len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->tail | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->truesize | |
| UNITS | 0 | skb1 | unit_byte |
| UNITS | 1 | skb2 | unit_byte |
| LOCK2 | &sk->sk_lock.slock | ||
| TYPE_LOCK | (struct socket_lock_t)->slock |
net/core/skbuff.c skb_shift() -> skb_cmp_decrypted()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | skb1 | 4096-ptr_max |
| PARAM_VALUE | 1 | skb2 | 4096-ptr_max |
| DATA_SOURCE | 0 | skb1 | $0 |
| DATA_SOURCE | 1 | skb2 | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | skb1->next->prev->csum_offset | 0-u16max |
| HOST_DATA | 0 | skb1->next->prev->data_len | 0-u32max[c] |
| HOST_DATA | 0 | skb1->next->prev->len | 1-u32max[c] |
| HOST_DATA | 0 | skb1->next->prev->tstamp | 500000002-4294967299794967295[c] |
| HOST_DATA | 0 | skb1->prev->csum_offset | 0-u16max |
| HOST_DATA | 0 | skb1->prev->data_len | 0-u32max[c] |
| HOST_DATA | 0 | skb1->prev->len | 1-u32max[c] |
| HOST_DATA | 0 | skb1->prev->tstamp | 500000002-4294967299794967295[c] |
| HOST_DATA | 0 | *skb1->data | 0-255 |
| NO_OVERFLOW_SIMPLE | 0 | skb1->sk->sk_backlog.len | |
| UNITS | 1 | skb2 | unit_byte |
| HALF_LOCKED2 | &sk->sk_lock.slock | ||
| HALF_LOCKED2 | sk |
net/ipv4/tcp_offload.c tcp_gro_receive() -> skb_cmp_decrypted()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | skb1 | 4096-ptr_max |
| PARAM_VALUE | 1 | skb2 | 4096-ptr_max |
| BUF_SIZE | 1 | skb2 | (-1)-s32max |
| BUF_SIZE | 1 | skb2 | (-1)-s32max |
| BUF_SIZE | 1 | skb2->dev | s32min-(-1),1-s32max |
| DATA_SOURCE | 0 | skb1 | r tcp_gro_lookup |
| DATA_SOURCE | 1 | skb2 | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 1 | skb2->napi_id | 0-u32max |
| NO_OVERFLOW_SIMPLE | 1 | skb2->data_len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->group | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->num_tc | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->proto_down | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->real_num_rx_queues | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->real_num_tx_queues | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->stats.tx_bytes | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->tx_queue_len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->end | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->tail | |
| UNITS | 1 | skb2 | unit_byte |
| HALF_LOCKED2 | rcu_read |
net/ipv4/tcp_input.c tcp_skb_can_collapse_rx() -> skb_cmp_decrypted()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | skb1 | 4096-ptr_max |
| PARAM_VALUE | 1 | skb2 | 4096-ptr_max |
| BUF_SIZE | 1 | skb2 | (-1)-s32max |
| BUF_SIZE | 1 | skb2 | (-1)-s32max |
| CAPPED_DATA | 1 | skb2 | 1 |
| DATA_SOURCE | 0 | skb1 | $0 |
| DATA_SOURCE | 1 | skb2 | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 1 | skb2->csum | 0-4294967040[c] |
| HOST_DATA | 1 | skb2->csum_offset | 0-u16max |
| HOST_DATA | 1 | skb2->data_len | 0-u32max[c] |
| HOST_DATA | 1 | skb2->len | 2-241[c] |
| HOST_DATA | 1 | skb2->prev->csum_offset | 0-u16max |
| HOST_DATA | 1 | skb2->prev->data_len | 0-u32max[c] |
| HOST_DATA | 1 | skb2->prev->len | 1-u32max[c] |
| HOST_DATA | 1 | skb2->prev->tstamp | 500000002-4294967299794967295[c] |
| HOST_DATA | 1 | skb2->truesize | 0-u32max |
| HOST_DATA | 1 | skb2->tstamp | 500000002-4294967299794967295[c] |
| HOST_DATA | 1 | skb2->users.refs.counter | s32min-0,2-s32max |
| HOST_DATA | 1 | *skb2->data | 0-255 |
| NO_OVERFLOW_SIMPLE | 0 | skb1->sk->sk_backlog.len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->data_len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->group | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->num_tc | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->real_num_rx_queues | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->real_num_tx_queues | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->stats.rx_bytes | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->stats.tx_bytes | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->dev->tx_queue_len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->end | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->next->end | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->next->len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->next->tail | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->next->truesize | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->prev->end | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->prev->len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->prev->tail | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->prev->truesize | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->sk->sk_backlog.len | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->tail | |
| NO_OVERFLOW_SIMPLE | 1 | skb2->truesize | |
| UNITS | 0 | skb1 | unit_byte |
| UNITS | 1 | skb2 | unit_byte |
| HALF_LOCKED2 | &sk->sk_lock.slock | ||
| HALF_LOCKED2 | sk |
net/tls/tls_strp.c tls_strp_check_queue_ok() -> skb_cmp_decrypted()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | skb1 | 4096-ptr_max |
| PARAM_VALUE | 1 | skb2 | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | skb1 | unit_byte |
| UNITS | 1 | skb2 | unit_byte |
| HALF_LOCKED2 | sk | ||
| HALF_LOCKED2 | strp->sk |
net/tls/tls_strp.c tls_strp_copyin() -> skb_cmp_decrypted()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | skb1 | 4096-ptr_max |
| PARAM_VALUE | 1 | skb2 | 4096-ptr_max |
| DATA_SOURCE | 1 | skb2 | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |