Documented in 2 files:

Defined in 4 files as a prototype:

Defined in 5 files as a macro:

Defined in 18 files as a function:

Referenced in 30 files:

Smatch caller information:

net/rds/ib_send.c rds_message_make_checksum() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 1 ihl 12
DATA_SOURCE 0 iph $0

drivers/net/ethernet/freescale/enetc/enetc.c enetc_tso_hdr_csum() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ndev->tx_global_lock
HALF_LOCKED2 bh

drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c rmnet_map_ipv4_dl_csum_trailer() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
BUF_SIZE 0 iph 1-s32max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 ihl 0-15[u]
UNITS 0 iph unit_byte
USER_PTR 0 iph
LOCK2 rcu_read
HALF_LOCKED2 bh

drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c rmnet_map_ipv6_dl_csum_trailer() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 1 ihl 10
BUF_SIZE 0 iph 1-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 iph unit_byte
USER_PTR 0 iph
LOCK2 rcu_read
HALF_LOCKED2 bh

net/rds/ib_recv.c rds_message_make_checksum() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 1 ihl 12
DATA_SOURCE 0 iph $0
RX_PATH
HALF_LOCKED2 &pool->lock

net/rds/ib_recv.c rds_message_verify_checksum() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 1 ihl 12
DATA_SOURCE 0 iph $0

drivers/net/geneve.c geneve_opt_gro_hint_validate() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 *iph 69
PARAM_VALUE 1 ihl 5
RX_PATH
TASK_NOT_RUNNING
UNITS 0 iph unit_byte

drivers/infiniband/core/verbs.c ib_get_rdma_header_version() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 8053889821453815808
PARAM_VALUE 1 ihl 5
BUF_SIZE 0 iph 20
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/infiniband/core/ud_header.c ib_ud_ip4_csum() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 8905309354173210624
PARAM_VALUE 1 ihl 5
BUF_SIZE 0 iph 20
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &qp->sq.lock
HALF_LOCKED2 &qp->sq_lock
HALF_LOCKED2 flags

drivers/net/thunderbolt/main.c tbnet_xmit_csum_and_map() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 1 ihl 0-15
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/ipv4/raw.c raw_send_hdrinc() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 1 ihl 5-15
CAPPED_DATA 0 iph->tot_len 1
DATA_SOURCE 0 iph r ip_hdr
FUZZY_MAX 1 ihl 5
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

drivers/net/slip/slhc.c slhc_remember() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 1 ihl 5-15
DATA_SOURCE 0 iph $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 ihl 5-15[u]
UNITS 0 iph unit_byte
USER_PTR 0 iph
HALF_LOCKED2 &ppp->rlock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/slip/slhc.c slhc_uncompress() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 *iph 0-255
DATA_SOURCE 0 iph $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 iph unit_byte
USER_PTR 0 iph
HALF_LOCKED2 &ppp->rlock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/chelsio/cxgb4/sge.c cxgb4_eth_xmit() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
DATA_SOURCE 0 iph r ip_hdr
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &adap->ptp_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

net/psp/psp_main.c psp_dev_encapsulate() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 *iph s32min-s32max
PARAM_VALUE 1 ihl 0-15
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

net/psp/psp_main.c psp_dev_rcv() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 ihl 0-15[u]
UNITS 0 iph unit_byte
USER_PTR 0 iph
LOCK2 rcu_read
HALF_LOCKED2 bh

drivers/net/netconsole.c push_ipv4() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 *iph 69
DATA_SOURCE 0 iph r ip_hdr
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags

drivers/net/hyperv/netvsc_drv.c netvsc_comp_ipcsum() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
BUF_SIZE 0 iph 1-s32max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 ihl 0-15[u]
UNITS 0 iph unit_byte
USER_PTR 0 iph
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/ipv4/igmp.c ip_mc_check_iphdr() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
DATA_SOURCE 0 iph r ip_hdr
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/xfrm/xfrm_input.c xfrm4_remove_beet_encap() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 *iph 0-255
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 ihl 0-15[c][u]

net/core/lwt_bpf.c bpf_lwt_push_ip_encap() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
DATA_SOURCE 0 iph r ip_hdr

drivers/net/netdevsim/dev.c nsim_dev_trap_skb_build() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 1 ihl 5
DATA_SOURCE 0 iph r skb_put_zero
PREEMPT_ADD
LOCK2 &nsim_trap_data->trap_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct nsim_trap_data)->trap_lock

net/ipv4/af_inet.c inet_gro_receive() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 *iph 69
PARAM_VALUE 1 ihl 5
DATA_SOURCE 0 iph r skb_gro_header
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/bridge/br_netfilter_hooks.c br_validate_ipv4() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
DATA_SOURCE 0 iph r ip_hdr
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/ipv4/ipconfig.c ic_bootp_recv() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 1 ihl 5
BUF_SIZE 0 iph 20
BUF_SIZE 0 iph 20
CAPPED_DATA 0 iph->tot_len 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/ipv4/ipconfig.c ic_bootp_send_if() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 1 ihl 5
DATA_SOURCE 0 iph r ip_hdr

net/ipv4/ip_input.c ip_rcv_core() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
DATA_SOURCE 0 iph r ip_hdr
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

lib/tests/checksum_kunit.c test_ip_fast_csum() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 *iph 0-255
PARAM_VALUE 1 ihl 5-14

drivers/net/netdevsim/psample.c nsim_dev_psample_skb_build() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 1 ihl 5
DATA_SOURCE 0 iph r skb_put
HALF_LOCKED2 &pool->lock

drivers/net/ethernet/mellanox/mlx5/core/en_rx.c mlx5e_lro_update_hdr() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 ihl 0-15[u]
UNITS 0 iph unit_byte
USER_PTR 0 iph
LOCK2 rcu_read
HALF_LOCKED2 bh

net/ipv4/ip_output.c ip_send_check() -> ip_fast_csum()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
BUF_SIZE 0 iph (-1),1-s32max
BUF_SIZE 0 iph (-1),1-s32max
DATA_SOURCE 0 iph $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 ihl 0-15[u]
UNITS 0 iph unit_byte
USER_PTR 0 iph
HALF_LOCKED2 &encap->neigh->lock
HALF_LOCKED2 &priv->state_lock
HALF_LOCKED2 &qp->q.lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read