Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 27 files:

Smatch caller information:

net/ipv4/ip_options.c ip_forward_options() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/geneve.c geneve_post_decap_hint() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
CAPPED_DATA 0 iph->tot_len 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 iph->addrs.daddr 0-u32max[u]
USER_DATA 0 iph->addrs.saddr 0-u32max[u]
USER_DATA 0 iph->daddr 0-u32max[u]
USER_DATA 0 iph->frag_off 0-u16max[u]
USER_DATA 0 iph->id 0-u16max[u]
USER_DATA 0 iph->ihl 0-15[u]
USER_DATA 0 iph->protocol 0-255[u]
USER_DATA 0 iph->saddr 0-u32max[u]
USER_DATA 0 iph->tos 0-255[u]
USER_DATA 0 iph->ttl 0-255[u]
USER_DATA 0 iph->version 0-15[u]
UNITS 0 iph unit_byte
USER_PTR 0 iph

drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c mlx5e_test_get_udp_skb() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->frag_off 0
PARAM_VALUE 0 iph->ihl 5
PARAM_VALUE 0 iph->protocol 17
DATA_SOURCE 0 iph r skb_put
NOCHECK_CALL
LOCK2 &priv->state_lock
TYPE_LOCK (struct mlx5e_priv)->state_lock

net/ipv4/esp4_offload.c esp_xmit() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

net/core/pktgen.c fill_packet_ipv4() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->frag_off 0
PARAM_VALUE 0 iph->ihl 5
PARAM_VALUE 0 iph->protocol 17
DATA_SOURCE 0 iph r skb_put
NOCHECK_CALL

net/core/pktgen.c process_ipsec() -> ip_send_check()

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

net/ipv4/netfilter/nf_reject_ipv4.c nf_reject_skb_v4_tcp_reset() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->check 0
PARAM_VALUE 0 iph->frag_off 16384
PARAM_VALUE 0 iph->ihl 5
PARAM_VALUE 0 iph->protocol 6
NOCHECK_CALL

net/ipv4/netfilter/nf_reject_ipv4.c nf_reject_skb_v4_unreach() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->check 0
PARAM_VALUE 0 iph->frag_off 16384
PARAM_VALUE 0 iph->ihl 5
PARAM_VALUE 0 iph->protocol 1
NOCHECK_CALL

net/ipv4/netfilter/nf_reject_ipv4.c nf_send_reset() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
CAPPED_DATA 0 iph->tot_len 1
DATA_SOURCE 0 iph r ip_hdr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/amt.c amt_build_igmp_gq() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->frag_off 16384
PARAM_VALUE 0 iph->ihl 6
PARAM_VALUE 0 iph->protocol 2
DATA_SOURCE 0 iph r ip_hdr
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

drivers/net/amt.c amt_send_advertisement() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->frag_off 0
PARAM_VALUE 0 iph->ihl 5
PARAM_VALUE 0 iph->protocol 17
DATA_SOURCE 0 iph r ip_hdr
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

drivers/net/amt.c amt_send_discovery() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->frag_off 0
PARAM_VALUE 0 iph->ihl 5
PARAM_VALUE 0 iph->protocol 17
DATA_SOURCE 0 iph r ip_hdr
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock

drivers/net/amt.c amt_send_request() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->frag_off 0
PARAM_VALUE 0 iph->ihl 5
PARAM_VALUE 0 iph->protocol 17
DATA_SOURCE 0 iph r ip_hdr
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock

drivers/net/ppp/pptp.c pptp_xmit() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->frag_off 0,16384
PARAM_VALUE 0 iph->ihl 5
PARAM_VALUE 0 iph->protocol 47
DATA_SOURCE 0 iph r ip_hdr
FUZZY_MAX 0 iph->frag_off 16384
BIT_INFO 0 iph->frag_off 0x0,0x4000
HARD_MAX 0 iph->frag_off 16384
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 iph->tot_len
HALF_LOCKED2 &pch->downl
HALF_LOCKED2 &pchb->downl
HALF_LOCKED2 &ppp->wlock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct channel)->downl

net/netfilter/ipvs/ip_vs_core.c handle_response() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

net/netfilter/ipvs/ip_vs_core.c ip_vs_gather_frags() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/netfilter/ipvs/ip_vs_core.c ip_vs_nat_icmp() -> ip_send_check()

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

net/netfilter/ipvs/ip_vs_core.c ip_vs_nat_icmp() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
NOCHECK_CALL
USER_DATA 0 iph->check 0-u16max[u]
USER_DATA 0 iph->frag_off 0-u16max[u]
USER_DATA 0 iph->id 0-u16max[u]
USER_DATA 0 iph->ihl 0-15[u]
USER_DATA 0 iph->protocol 0-255[u]
USER_DATA 0 iph->saddr 0-u32max[u]
USER_DATA 0 iph->tos 0-255[u]
USER_DATA 0 iph->tot_len 0-u16max[u]
USER_DATA 0 iph->ttl 0-255[u]
USER_DATA 0 iph->version 0-15[u]
UNITS 0 iph unit_byte
USER_PTR 0 iph

net/netfilter/ipvs/ip_vs_core.c ip_vs_nat_icmp() -> ip_send_check()

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

net/netfilter/ipvs/ip_vs_core.c ip_vs_nat_icmp() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
NOCHECK_CALL
USER_DATA 0 iph->check 0-u16max[u]
USER_DATA 0 iph->daddr 0-u32max[u]
USER_DATA 0 iph->frag_off 0-u16max[u]
USER_DATA 0 iph->id 0-u16max[u]
USER_DATA 0 iph->ihl 0-15[u]
USER_DATA 0 iph->protocol 0-255[u]
USER_DATA 0 iph->tos 0-255[u]
USER_DATA 0 iph->tot_len 0-u16max[u]
USER_DATA 0 iph->ttl 0-255[u]
USER_DATA 0 iph->version 0-15[u]
UNITS 0 iph unit_byte
USER_PTR 0 iph

net/ipv4/cipso_ipv4.c cipso_v4_skbuff_delattr() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
DATA_SOURCE 0 iph r ip_hdr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 iph->tot_len
LOCK2 rcu_read

net/ipv4/cipso_ipv4.c cipso_v4_skbuff_setattr() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
DATA_SOURCE 0 iph r ip_hdr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 iph->tot_len 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 iph->tot_len
LOCK2 rcu_read

net/netfilter/ipvs/ip_vs_xmit.c ip_vs_bypass_xmit() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/netfilter/ipvs/ip_vs_xmit.c ip_vs_dr_xmit() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/netfilter/ipvs/ip_vs_xmit.c ip_vs_nat_xmit() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/netfilter/ipvs/ip_vs_xmit.c ip_vs_prepare_tunneled_skb() -> ip_send_check()

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

net/ipv4/ip_tunnel_core.c iptunnel_pmtud_build_icmp() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
BUF_SIZE 0 iph 1-s32max
BUF_SIZE 0 iph 1-s32max
DATA_SOURCE 0 iph r skb_push
BIT_INFO 0 *iph 0x0,0x7fffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 bh
HALF_LOCKED2 flags

drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c stmmac_test_get_udp_skb() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->frag_off 0
PARAM_VALUE 0 iph->ihl 5
PARAM_VALUE 0 iph->protocol 6,17
CAPPED_DATA 0 iph->tot_len 1
DATA_SOURCE 0 iph r skb_put
FUZZY_MAX 0 iph->protocol 17
BIT_INFO 0 iph->protocol 0x0,0x17
HARD_MAX 0 iph->protocol 17
NOCHECK_CALL

net/sched/act_csum.c tcf_csum_ipv4() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/core/selftests.c net_test_get_skb() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->frag_off 0
PARAM_VALUE 0 iph->ihl 5
PARAM_VALUE 0 iph->protocol 6,17
CAPPED_DATA 0 iph->tot_len 1
DATA_SOURCE 0 iph r skb_put
FUZZY_MAX 0 iph->protocol 17
BIT_INFO 0 iph->protocol 0x0,0x17
HARD_MAX 0 iph->protocol 17
NOCHECK_CALL

drivers/net/ethernet/sfc/tc_encap_actions.c efx_gen_tun_header_ipv4() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->ihl 5
PARAM_VALUE 0 iph->protocol 17
BUF_SIZE 0 iph 112
BUF_SIZE 0 iph 112
NOCHECK_CALL
UNITS 0 iph unit_byte
LOCK2 &encap->neigh->lock
LOCK2 bh
HALF_LOCKED2 &efx->tc->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct efx_neigh_binder)->lock

net/ipv4/af_inet.c inet_gso_segment() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 iph->id 0-u16max
UNITS 0 iph unit_byte
HALF_LOCKED2 rcu_read

drivers/net/wireless/intel/iwlwifi/iwl-utils.c iwl_tx_tso_segment() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

net/netfilter/nf_nat_helper.c mangle_contents() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 global &nf_h323_lock

net/ipv4/ip_fragment.c ip_frag_reasm() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->frag_off 0,16384
DATA_SOURCE 0 iph r ip_hdr
FUZZY_MAX 0 iph->frag_off 16384
BIT_INFO 0 iph->frag_off 0x0,0x4000
HARD_MAX 0 iph->frag_off 16384
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &qp->q.lock
LOCK2 rcu_read
HALF_LOCKED2 bh
TYPE_LOCK (struct inet_frag_queue)->lock

net/netfilter/nf_flow_table_ip.c nf_flow_tunnel_ipip_push() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->ihl 5
DATA_SOURCE 0 iph r ip_hdr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 iph->tot_len
HALF_LOCKED2 rcu_read

net/bridge/br_multicast.c br_ip4_multicast_alloc_query() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->frag_off 16384
PARAM_VALUE 0 iph->ihl 6
PARAM_VALUE 0 iph->protocol 2
CAPPED_DATA 0 iph->tot_len 1
DATA_SOURCE 0 iph r ip_hdr
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &br->multicast_lock
HALF_LOCKED2 &brmctx->br->multicast_lock
TYPE_LOCK (struct net_bridge)->multicast_lock

drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c mlx5e_ipsec_remove_trailer() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
DATA_SOURCE 0 iph r ip_hdr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &netdev->tx_global_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

net/ipv4/xfrm4_input.c xfrm4_transport_finish() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
DATA_SOURCE 0 iph r ip_hdr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 iph->tot_len
LOCK2 rcu_read

net/ipv4/ipmr.c ip_encap() -> ip_send_check()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->frag_off 0
PARAM_VALUE 0 iph->ihl 5
PARAM_VALUE 0 iph->protocol 4
DATA_SOURCE 0 iph r ip_hdr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 iph->tot_len
HALF_LOCKED2 &net->ipv4.mfc_mutex
HALF_LOCKED2 &net->ipv6.mfc_mutex
HALF_LOCKED2 rcu_read

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

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
NOCHECK_CALL
HOST_DATA 0 iph->tot_len 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 iph->tot_len
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

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

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

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
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->frag_off 8192
DATA_SOURCE 0 iph $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL