Defined in 1 files as a function:

Referenced in 20 files:

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