Defined in 1 files as a function:

Referenced in 16 files:

Smatch caller information:

net/ipv6/esp6.c csum_block_sub() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 0 csum $0
DATA_SOURCE 2 offset $2
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 csum 0-4294967040[c]
UNITS 2 offset unit_byte

drivers/net/ethernet/freescale/enetc/enetc.c enetc_map_tx_tso_buffs() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r csum_partial
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ndev->tx_global_lock
HALF_LOCKED2 bh

net/kcm/kcmsock.c skb_do_copy_data_nocache() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 2 offset $5
RX_PATH
TASK_NOT_RUNNING
UNITS 2 offset unit_byte
LOCK2 &kcm->tx_mutex
LOCK2 sk
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct kcm_sock)->tx_mutex

net/ipv4/ping.c ping_getfrag() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 2 offset $4

net/sched/act_ct.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING

net/core/datagram.c copy_to_user_iter_csum() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r csum_and_copy_to_user
DATA_SOURCE 2 offset $1
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 offset 0-2147483646[c]
USER_DATA 1 csum2 0-69647[c]

net/core/datagram.c csum_and_copy_to_iter() -> csum_block_add()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 csum2 0-69647[c]

net/core/datagram.c memcpy_to_iter_csum() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r csum_partial_copy_nocheck
DATA_SOURCE 2 offset $1
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 offset 0-4096[c]
USER_DATA 1 csum2 0-69647[c]
USER_DATA 2 offset (-4096)-4096[u]
UNITS 2 offset unit_byte
HALF_LOCKED2 rcu_read

net/dsa/tag_lan9303.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 0 csum 0
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

drivers/net/ethernet/mellanox/mlx5/core/en/tc/int_port.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh

net/ipv6/rpl_iptunnel.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 csum 0-126976[c]
LOCK2 rcu_read

net/ipv4/raw.c raw_getfrag() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 2 offset $4

drivers/net/vrf.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 csum2 0-69647[c]
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/core/skbuff.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 csum 0-192512[c]
USER_DATA 1 csum2 0-69647[c]

net/core/skbuff.c copy_from_user_iter_csum() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r csum_and_copy_from_user
DATA_SOURCE 2 offset $1
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 offset 0-2147483646[c]
USER_DATA 1 csum2 0-69647[c]

net/core/skbuff.c csum_block_sub() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset s32min-(-2),0-s32max
CAPPED_DATA 2 offset 1
DATA_SOURCE 0 csum $0
DATA_SOURCE 2 offset $2
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 csum 0-4294967040[c]
USER_DATA 2 offset 1-s32max[c]
NO_OVERFLOW_SIMPLE 2 offset
UNITS 2 offset unit_byte
HALF_LOCKED2 &fq->q.lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/core/skbuff.c memcpy_from_iter_csum() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r csum_partial_copy_nocheck
DATA_SOURCE 2 offset $1
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 offset 0-4096[c]
USER_DATA 1 csum2 0-69647[c]
USER_DATA 2 offset (-4096)-4096[u]
UNITS 2 offset unit_byte
HALF_LOCKED2 rcu_read

net/core/skbuff.c skb_checksum() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 0 csum $3 [m]
DATA_SOURCE 1 csum2 r csum_partial
NOSPEC 2 offset
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 offset s32min-(-4),0-s32max[c]
USER_DATA 0 csum 0-396312[c]
USER_DATA 1 csum2 0-69647[c]
USER_DATA 2 offset s32min-(-4),0-s32max[c]
UNITS 2 offset unit_byte
HALF_LOCKED2 &net->xfrm.xfrm_state_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/core/skbuff.c skb_checksum() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 0 csum $3 [m]
DATA_SOURCE 1 csum2 r skb_checksum
NOSPEC 2 offset
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 offset s32min-s32max[c]
USER_DATA 0 csum 0-396312[c]
USER_DATA 1 csum2 0-264209[c]
USER_DATA 2 offset s32min-s32max[c]
UNITS 2 offset unit_byte
HALF_LOCKED2 &net->xfrm.xfrm_state_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/core/skbuff.c skb_copy_and_csum_bits() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r csum_partial_copy_nocheck
NOSPEC 2 offset
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 offset s32min-s32max[c]
USER_DATA 0 csum 0-396312[c]
USER_DATA 1 csum2 0-69647[c]
USER_DATA 2 offset s32min-(-4),1-s32max[c]
NO_OVERFLOW_SIMPLE 2 offset
UNITS 2 offset unit_byte

net/core/skbuff.c skb_copy_and_csum_bits() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r skb_copy_and_csum_bits
NOSPEC 2 offset
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 offset s32min-s32max[c]
USER_DATA 0 csum 0-396312[c]
USER_DATA 1 csum2 0-264209[c]
USER_DATA 2 offset s32min-s32max[c]
NO_OVERFLOW_SIMPLE 2 offset
UNITS 2 offset unit_byte

net/core/skbuff.c skb_splice_csum_page() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r csum_partial
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 csum2 0-69647[c]
UNITS 2 offset unit_byte
HALF_LOCKED2 &kcm->tx_mutex
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

net/core/filter.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

net/core/filter.c csum_block_sub() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0-s32max
DATA_SOURCE 0 csum $0
DATA_SOURCE 2 offset $2
UNITS 2 offset unit_byte

net/ipv4/tcp.c skb_do_copy_data_nocache() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 2 offset $5
UNITS 2 offset unit_byte

net/ipv6/xfrm6_input.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3

net/ipv4/esp4.c csum_block_sub() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 0 csum $0
DATA_SOURCE 2 offset $2
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 csum 0-4294967040[c]
UNITS 2 offset unit_byte

net/nsh/nsh.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 csum 0-192512[c]
USER_DATA 1 csum2 0-69647[c]

net/dsa/tag_8021q.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/sched/sch_frag.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 csum 0-192512[c]
HALF_LOCKED2 &net->ipv4.mfc_mutex
HALF_LOCKED2 &net->ipv6.mfc_mutex
HALF_LOCKED2 &sk->sk_callback_lock
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 sk

net/openvswitch/vport-netdev.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 bh

net/sched/act_mpls.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING

net/openvswitch/conntrack.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 csum 0-4294967040[c]

net/mptcp/protocol.c mptcp_update_data_checksum() -> csum_block_add()

Type Parameter Key Value
CAPPED_DATA 1 csum2 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 offset unit_byte
HALF_LOCKED2 &msk->fallback_lock
HALF_LOCKED2 bh
HALF_LOCKED2 sk
HALF_LOCKED2 ssk

net/ipv6/reassembly.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 csum 0-126976[c]
LOCK2 &fq->q.lock
LOCK2 rcu_read
TYPE_LOCK (struct inet_frag_queue)->lock

net/core/lwt_bpf.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3

net/batman-adv/routing.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 csum2 0-69647[c]
HALF_LOCKED2 rcu_read

drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &rxq->lock
HALF_LOCKED2 bh

net/sched/act_vlan.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING

net/ipv4/icmp.c icmp_glue_bits() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r skb_copy_and_csum_bits
DATA_SOURCE 2 offset $4

net/dsa/tag_ocelot.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 0 csum 0
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/sunrpc/socklib.c csum_partial_copy_to_xdr() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r skb_checksum
PREEMPT_ADD
RX_PATH
USER_DATA 0 csum 0-396312[c]
USER_DATA 1 csum2 0-264209[c]
UNITS 2 offset unit_byte
HALF_LOCKED2 &transport->recv_mutex
HALF_LOCKED2 bh

net/sunrpc/socklib.c xdr_skb_read_bits() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r skb_copy_and_csum_bits
PREEMPT_ADD
RX_PATH
USER_DATA 0 csum 0-396312[c]
USER_DATA 1 csum2 0-264209[c]
NO_OVERFLOW_SIMPLE 2 offset
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &transport->recv_mutex
HALF_LOCKED2 bh

net/ipv6/raw.c raw6_getfrag() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 2 offset $4

net/ipv6/exthdrs.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 csum 0-4294967041[c]

net/mptcp/subflow.c validate_data_csum() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r skb_checksum
PREEMPT_ADD
UNITS 2 offset unit_byte
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh

net/ipv6/seg6_local.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/sched/act_mirred.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING

net/netfilter/nf_flow_table_ip.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 csum2 0-69647[c]

net/ipv6/ioam6_iptunnel.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 csum 0-192512[c]
LOCK2 rcu_read
HALF_LOCKED2 &net->ipv4.mfc_mutex
HALF_LOCKED2 &net->ipv6.mfc_mutex
HALF_LOCKED2 &sk->sk_callback_lock
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/openvswitch/actions.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 csum 0-192512[c]

net/ipv6/seg6_iptunnel.c __skb_postpush_rcsum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0
DATA_SOURCE 2 offset $3
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 csum 0-192512[c]

drivers/net/ethernet/mellanox/mlx5/core/en_rx.c tail_padding_csum() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0-131110
CAPPED_DATA 0 csum 1
CAPPED_DATA 2 offset 1
DATA_SOURCE 2 offset $1
CONSTRAINT 2 offset <49
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 csum2 0-69647[c]
USER_DATA 2 offset 1-131110[c]
UNITS 2 offset unit_byte
LOCK2 rcu_read
HALF_LOCKED2 bh

drivers/net/ethernet/mellanox/mlx5/core/en_rx.c tail_padding_csum_slow() -> csum_block_add()

Type Parameter Key Value
PARAM_VALUE 2 offset 0-131110
CAPPED_DATA 0 csum 1
CAPPED_DATA 2 offset 1
DATA_SOURCE 2 offset $1
CONSTRAINT 2 offset <49
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 csum2 0-264209[c]
USER_DATA 2 offset 1-131110[c]
UNITS 2 offset unit_byte
LOCK2 rcu_read
HALF_LOCKED2 bh

net/ipv6/icmp.c icmpv6_getfrag() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r skb_copy_and_csum_bits
DATA_SOURCE 2 offset $4

net/ipv4/ip_output.c ip_generic_getfrag() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 2 offset $4
RX_PATH
TASK_NOT_RUNNING
UNITS 2 offset unit_byte

net/ipv4/ip_output.c ip_reply_glue_bits() -> csum_block_add()

Type Parameter Key Value
DATA_SOURCE 1 csum2 r csum_partial_copy_nocheck
DATA_SOURCE 2 offset $4