Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 5 files:
- net/ipv4/tcp.c, line 5151
- net/ipv4/tcp_input.c, line 4909
- net/ipv4/tcp_ipv4.c, line 622
- net/ipv4/tcp_timer.c, line 79
- net/ipv6/tcp_ipv6.c, line 522
Smatch caller information:
net/ipv4/tcp_ipv4.c tcp_v4_err() -> tcp_done_with_error()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->__sk_common.skc_state | 2-3 |
| PARAM_VALUE | 0 | sk->sk_lock.owned | 0 |
| PARAM_VALUE | 0 | sk->sk_lock.slock.rlock.dep_map->name | 0-255 |
| CAPPED_DATA | 0 | sk | 1 |
| DATA_SOURCE | 0 | sk | r __inet_lookup_established |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &sk->sk_lock.slock | |
| TYPE_LOCK | (struct socket_lock_t)->slock |
net/ipv4/tcp.c tcp_abort() -> tcp_done_with_error()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->sk_lock.slock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | err | 103 |
| DATA_SOURCE | 0 | sk | $0 |
| DATA_SOURCE | 1 | err | $1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | sk | unit_byte |
| LOCK2 | bh | ||
| LOCK2 | 0 | &sk->sk_lock.slock | |
| HALF_LOCKED2 | 0 | sk | |
| TYPE_LOCK | (struct socket_lock_t)->slock |
net/ipv4/tcp_input.c tcp_reset() -> tcp_done_with_error()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->__sk_common.skc_state | 0-6,8-255 |
| PARAM_VALUE | 1 | err | 32,104,111 |
| BUF_SIZE | 0 | sk->__sk_common.skc_prot | (-1),448 |
| CAPPED_DATA | 0 | sk->__sk_common.skc_net.net | 1 |
| DATA_SOURCE | 0 | sk | $0 |
| FUZZY_MAX | 1 | err | 111 |
| BIT_INFO | 1 | err | 0x20,0x6f |
| HARD_MAX | 1 | err | 111 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 0 | sk->sk_receive_queue.prev->csum_offset | 0-u16max |
| HOST_DATA | 0 | sk->sk_receive_queue.prev->data_len | 0-u32max[c] |
| HOST_DATA | 0 | sk->sk_receive_queue.prev->next->csum_offset | 0-u16max |
| HOST_DATA | 0 | sk->sk_receive_queue.prev->next->data_len | 0-u32max[c] |
| HOST_DATA | 0 | sk->sk_receive_queue.prev->next->truesize | 0-u32max |
| HOST_DATA | 0 | sk->sk_receive_queue.prev->truesize | 0-u32max |
| 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 | |
| UNITS | 0 | sk | unit_byte |
| HALF_LOCKED2 | 0 | sk | |
| HALF_LOCKED2 | 0 | &sk->sk_lock.slock |
net/ipv4/tcp_timer.c tcp_write_err() -> tcp_done_with_error()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 1 | err | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | sk | (-1),1480 |
| BUF_SIZE | 0 | sk | (-1),1480 |
| CAPPED_DATA | 0 | sk | 1 |
| DATA_SOURCE | 0 | sk | $0 |
| FUZZY_MAX | 1 | err | 110 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 | |
| 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 | |
| UNITS | 0 | sk | unit_byte |
| HALF_LOCKED2 | 0 | &sk->sk_lock.slock |
net/ipv6/tcp_ipv6.c tcp_v6_err() -> tcp_done_with_error()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sk | 4096-ptr_max |
| PARAM_VALUE | 0 | sk->__sk_common.skc_family | 10 |
| PARAM_VALUE | 0 | sk->__sk_common.skc_refcnt.refs.counter | (-1073741824),0-s32max |
| PARAM_VALUE | 0 | sk->__sk_common.skc_state | 2-3 |
| PARAM_VALUE | 0 | sk->sk_lock.owned | 0 |
| PARAM_VALUE | 0 | sk->sk_lock.slock.rlock.dep_map->name | 0-255 |
| CAPPED_DATA | 0 | sk->__sk_common.skc_hash | 1 |
| CAPPED_DATA | 0 | sk->__sk_common.skc_net.net | 1 |
| DATA_SOURCE | 0 | sk | r __inet6_lookup_established |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &sk->sk_lock.slock | |
| TYPE_LOCK | (struct socket_lock_t)->slock |