Defined in 1 files as a function:
Referenced in 20 files:
- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c, line 3352
- drivers/net/ethernet/mellanox/mlx4/en_rx.c, line 563
- drivers/net/ethernet/myricom/myri10ge/myri10ge.c, line 1301
- drivers/net/geneve.c, line 563
- include/net/checksum.h
- include/net/inet_ecn.h
- net/core/filter.c, line 2049
- net/core/utils.c
- net/dsa/tag_dsa.c, line 318
- net/ipv4/ip_output.c, line 1160
- net/ipv4/ip_sockglue.c, line 123
- net/ipv4/udp_offload.c, line 204
- net/ipv6/ip6_output.c, line 1726
- net/ipv6/netfilter/ip6t_NPT.c, line 35
- net/ipv6/netfilter/nf_conntrack_reasm.c, line 200
- net/ipv6/raw.c, line 579
- net/ipv6/reassembly.c, line 145
- net/netfilter/nft_payload.c
- net/netfilter/utils.c
- net/netfilter/xt_TCPMSS.c, line 242
Smatch caller information:
net/xfrm/xfrm_iptfs.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-192512[c] |
| LOCK2 | &x->lock | ||
| LOCK2 | bh | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct xfrm_state)->lock |
net/sched/sch_choke.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-126976[c] |
| HALF_LOCKED2 | rcu_read |
net/sched/sch_netem.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-126976[c] |
| HALF_LOCKED2 | rcu_read |
drivers/net/geneve.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/net/geneve.c IP6_ECN_set_ect1() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/net/geneve.c geneve_opt_gro_hint_validate_csum() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
net/netfilter/utils.c nf_ip6_checksum() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-4294967040[c] |
net/netfilter/utils.c nf_ip6_checksum() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | csum | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
net/netfilter/utils.c nf_ip6_checksum_partial() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | csum | 0 |
| DATA_SOURCE | 1 | addend | r skb_checksum |
net/ipv6/ip6_tunnel.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
net/ipv6/ip6_tunnel.c IP6_ECN_set_ect1() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
net/mac80211/tx.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &fq->lock | ||
| LOCK2 | bh | ||
| HALF_LOCKED2 | &local->handle_wake_tx_queue_lock | ||
| HALF_LOCKED2 | &rtwdev->txq_lock | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct fq)->lock |
net/ipv4/tcp_offload.c csum_replace4() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | $1 |
| UNITS | 1 | addend | unit_byte |
net/core/filter.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|
net/core/filter.c ____bpf_csum_diff() -> csum_sub()
| Type | Parameter | Key | Value |
|---|
net/core/filter.c csum_replace4() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | $1 |
drivers/net/bareudp.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/net/bareudp.c IP6_ECN_set_ect1() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
net/sched/act_skbmod.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
net/sched/sch_dualpi2.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
net/ipv4/fou_core.c remcsum_adjust() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | csum | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-4294967040[c] |
| USER_DATA | 1 | addend | 0-69647[c] |
net/ipv4/fou_core.c remcsum_adjust() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | csum | 0-u16max |
| PARAM_VALUE | 1 | addend | 0-u16max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-u16max[c] |
net/ipv4/fou_core.c remcsum_unadjust() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | csum | 1-u32max |
| PARAM_VALUE | 1 | addend | 0-u16max |
| DATA_SOURCE | 0 | csum | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
net/ipv4/udp_offload.c __skb_udp_tunnel_segment() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | csum | 0-u16max |
| UNITS | 1 | addend | unit_byte |
| LOCK2 | rcu_read |
net/ipv4/udp_offload.c csum_replace4() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | $1 |
net/ipv6/sit.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
net/ipv6/sit.c IP6_ECN_set_ect1() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
net/netfilter/nft_payload.c csum_replace4() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | $1 |
net/netfilter/nft_payload.c nft_payload_l4csum_update() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | $2 |
net/netfilter/nft_payload.c nft_payload_l4csum_update() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | csum | 0-u16max |
| DATA_SOURCE | 1 | addend | $2 |
drivers/net/wireguard/receive.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read |
drivers/net/wireguard/receive.c IP6_ECN_set_ect1() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read |
drivers/net/ethernet/mellanox/mlx4/en_rx.c get_fixed_ipv4_csum() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | addend | 0-4294967040 |
| DATA_SOURCE | 0 | csum | $0 |
| DATA_SOURCE | 1 | addend | r csum_tcpudp_nofold |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read |
net/sched/act_nat.c csum_replace4() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | addend | unit_byte |
net/sched/sch_pie.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-126976[c] |
| HALF_LOCKED2 | rcu_read |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c bnx2x_csum_fix() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | csum | 0-u16max |
| DATA_SOURCE | 0 | csum | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dev->tx_global_lock | ||
| HALF_LOCKED2 | &txq->_xmit_lock | ||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | rcu_read |
net/sched/sch_fq_pie.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-126976[c] |
| HALF_LOCKED2 | rcu_read |
net/xfrm/xfrm_input.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-126976[c] |
net/netfilter/nf_nat_proto.c csum_replace4() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addend | 0-u32max[u] |
| UNITS | 1 | addend | unit_byte |
net/ipv4/ip_sockglue.c ip_cmsg_recv_checksum() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
net/ipv6/reassembly.c ip6_frag_queue() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-192512[c] |
| LOCK2 | &fq->q.lock | ||
| LOCK2 | rcu_read | ||
| TYPE_LOCK | (struct inet_frag_queue)->lock |
net/sched/sch_gred.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-126976[c] |
| HALF_LOCKED2 | rcu_read |
net/ipv4/ip_tunnel.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
net/ipv4/ip_tunnel.c IP6_ECN_set_ect1() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
net/sched/sch_red.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-126976[c] |
| HALF_LOCKED2 | rcu_read |
net/dsa/tag_dsa.c dsa_rcv_ll() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | csum | r csum_add |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-u32max[c] |
| HALF_LOCKED2 | rcu_read |
net/sched/sch_sfb.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-126976[c] |
| HALF_LOCKED2 | rcu_read |
net/ipv6/raw.c rawv6_push_pending_frames() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | addend | 1-u16max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | sk | ||
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk |
net/ipv6/ip6_output.c __ip6_append_data() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | r skb_copy_and_csum_bits |
| RX_PATH | |||
| TASK_NOT_RUNNING |
net/ipv6/netfilter/nf_conntrack_reasm.c nf_ct_frag6_queue() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-192512[c] |
| LOCK2 | &fq->q.lock | ||
| LOCK2 | bh | ||
| LOCK2 | rcu_read | ||
| TYPE_LOCK | (struct inet_frag_queue)->lock |
drivers/net/vxlan/vxlan_core.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/net/vxlan/vxlan_core.c IP6_ECN_set_ect1() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/net/vxlan/vxlan_core.c remcsum_adjust() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | csum | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/net/vxlan/vxlan_core.c remcsum_adjust() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | csum | 0-u16max |
| PARAM_VALUE | 1 | addend | 0-u16max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/net/vxlan/vxlan_core.c remcsum_unadjust() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | csum | 1-u32max |
| PARAM_VALUE | 1 | addend | 0-u16max |
| DATA_SOURCE | 0 | csum | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
net/sched/sch_codel.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
net/netfilter/xt_TCPMSS.c tcpmss_tg6() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | addend | 0-u16max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | addend | unit_byte |
| HALF_LOCKED2 | &table->lock | ||
| HALF_LOCKED2 | bh |
net/ipv6/netfilter/ip6t_NPT.c ip6t_npt_checkentry() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | csum | r csum_partial |
| DATA_SOURCE | 1 | addend | r csum_partial |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | csum | 0-69647[c] |
| USER_DATA | 1 | addend | 0-69647[c] |
net/netfilter/nf_flow_table_ip.c csum_replace4() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | addend | unit_byte |
| HALF_LOCKED2 | rcu_read |
net/openvswitch/actions.c csum_replace() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | addend | 0-16777215 |
| DATA_SOURCE | 1 | addend | $1 |
| BIT_INFO | 1 | addend | 0x0,0xfffff |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-192512[c] |
net/openvswitch/actions.c csum_replace4() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/net/ethernet/myricom/myri10ge/myri10ge.c myri10ge_vlan_rx() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | r csum_partial |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read |
net/sched/sch_fq_codel.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
net/core/utils.c csum_replace4() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addend | 0-u32max |
| UNITS | 1 | addend | unit_byte |
| HALF_LOCKED2 | &ct->lock | ||
| HALF_LOCKED2 | bh |
net/core/utils.c inet_proto_csum_replace4() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addend | 0-u32max[u] |
| UNITS | 1 | addend | unit_byte |
net/core/utils.c inet_proto_csum_replace4() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | csum | 0-u16max |
| DATA_SOURCE | 1 | addend | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | csum | 0-u16max[u] |
| USER_DATA | 1 | addend | 0-u32max[u] |
| UNITS | 1 | addend | unit_byte |
net/core/utils.c inet_proto_csum_replace_by_diff() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | csum | $2 |
| RX_PATH |
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addend | 0-u32max |
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | bh |
net/sched/sch_cake.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read |
net/sched/sch_fq.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read |
net/ipv4/ip_output.c __ip_append_data() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | addend | r skb_copy_and_csum_bits |
| RX_PATH | |||
| TASK_NOT_RUNNING |
net/sched/sch_sfq.c IP6_ECN_set_ce() -> csum_sub()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | csum | 0-126976[c] |
| HALF_LOCKED2 | rcu_read |