Documented in 2 files:
Defined in 4 files as a prototype:
- arch/alpha/include/asm/checksum.h, line 11 (as a prototype)
- arch/nios2/include/asm/checksum.h, line 15 (as a prototype)
- arch/sparc/include/asm/checksum_64.h, line 48 (as a prototype)
- include/asm-generic/checksum.h, line 26 (as a prototype)
Defined in 5 files as a macro:
- arch/arc/include/asm/checksum.h, line 93 (as a macro)
- arch/arm64/include/asm/checksum.h, line 42 (as a macro)
- arch/loongarch/include/asm/checksum.h, line 61 (as a macro)
- arch/mips/include/asm/checksum.h, line 127 (as a macro)
- arch/riscv/include/asm/checksum.h, line 13 (as a macro)
Defined in 18 files as a function:
- arch/alpha/lib/checksum.c, line 147 (as a function)
- arch/arc/include/asm/checksum.h, line 38 (as a function)
- arch/arm/include/asm/checksum.h, line 73 (as a function)
- arch/arm64/include/asm/checksum.h, line 23 (as a function)
- arch/loongarch/include/asm/checksum.h, line 42 (as a function)
- arch/m68k/include/asm/checksum.h, line 46 (as a function)
- arch/mips/include/asm/checksum.h, line 97 (as a function)
- arch/powerpc/include/asm/checksum.h, line 168 (as a function)
- arch/riscv/include/asm/checksum.h, line 37 (as a function)
- arch/s390/include/asm/checksum.h, line 56 (as a function)
- arch/sh/include/asm/checksum_32.h, line 86 (as a function)
- arch/sparc/include/asm/checksum_32.h, line 81 (as a function)
- arch/sparc/lib/ipcsum.S, line 6 (as a function)
- arch/x86/include/asm/checksum_32.h, line 65 (as a function)
- arch/x86/include/asm/checksum_64.h, line 50 (as a function)
- arch/x86/um/asm/checksum.h, line 86 (as a function)
- arch/xtensa/include/asm/checksum.h, line 88 (as a function)
- lib/checksum.c, line 97 (as a function)
Referenced in 30 files:
- arch/alpha/lib/checksum.c, line 151
- arch/sparc/lib/ipcsum.S
- drivers/infiniband/core/ud_header.c, line 299
- drivers/infiniband/core/verbs.c, line 711
- drivers/net/ethernet/chelsio/cxgb4/sge.c, line 1625
- drivers/net/ethernet/freescale/enetc/enetc.c, line 615
- drivers/net/ethernet/ibm/ibmveth.c, line 1399
- drivers/net/ethernet/mellanox/mlx5/core/en_rx.c, line 1047
- drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c
- drivers/net/geneve.c, line 525
- drivers/net/hyperv/netvsc_drv.c, line 749
- drivers/net/netconsole.c, line 2135
- drivers/net/netdevsim/dev.c, line 842
- drivers/net/netdevsim/psample.c, line 70
- drivers/net/slip/slhc.c
- drivers/net/thunderbolt/main.c, line 1054
- include/asm-generic/checksum.h, line 21
- lib/checksum.c
- lib/tests/checksum_kunit.c, line 582
- net/bridge/br_netfilter_hooks.c, line 224
- net/core/lwt_bpf.c, line 663
- net/ipv4/af_inet.c, line 1497
- net/ipv4/igmp.c, line 1634
- net/ipv4/ip_input.c, line 554
- net/ipv4/ip_output.c, line 98
- net/ipv4/ipconfig.c
- net/ipv4/raw.c, line 411
- net/psp/psp_main.c
- net/rds/rds.h
- net/xfrm/xfrm_input.c, line 223
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 |