Defined in 4 files as a function:

Referenced in 27 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
BUF_SIZE 0 iph 1-s32max
BUF_SIZE 0 iph 1-s32max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iph->addrs.daddr 0-u32max[u]
USER_DATA 0 iph->addrs.saddr 0-u32max[u]
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->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
LOCK2 rcu_read
HALF_LOCKED2 bh

net/sched/act_ct.c tcf_ct_flow_table_fill_tuple_ipv4() -> ip_is_fragment()

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

net/sched/act_ct.c tcf_ct_ipv4_is_fragment() -> ip_is_fragment()

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

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

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

net/core/skbuff.c skb_checksum_setup_ipv4() -> ip_is_fragment()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &queue->rx_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/netfilter/ipvs/ip_vs_core.c ip_vs_in_icmp() -> ip_is_fragment()

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

net/netfilter/ipvs/ip_vs_core.c ip_vs_out_hook() -> ip_is_fragment()

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

net/netfilter/ipvs/ip_vs_core.c ip_vs_out_icmp() -> ip_is_fragment()

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

drivers/net/ethernet/intel/ice/ice_arfs.c ice_rx_flow_steer() -> ip_is_fragment()

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

net/xfrm/xfrm_output.c xfrm4_extract_output() -> ip_is_fragment()

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

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

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

drivers/net/bonding/bond_main.c bond_flow_ip() -> ip_is_fragment()

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

net/bridge/netfilter/nf_conntrack_bridge.c nf_ct_br_defrag4() -> ip_is_fragment()

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

net/netfilter/xt_HMARK.c hmark_pkt_set_htuple_ipv4() -> ip_is_fragment()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->protocol 0,2-255
BUF_SIZE 0 iph (-1),20
BUF_SIZE 0 iph (-1),20
RX_PATH
TASK_NOT_RUNNING
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,2-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
HALF_LOCKED2 &table->lock
HALF_LOCKED2 bh

drivers/net/ethernet/mellanox/mlx4/en_netdev.c mlx4_en_filter_rfs() -> ip_is_fragment()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
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->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
LOCK2 rcu_read
HALF_LOCKED2 bh

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

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->ihl 5
PARAM_VALUE 0 iph->protocol 17
PARAM_VALUE 0 iph->version 4
BUF_SIZE 0 iph 20
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

drivers/net/ethernet/apm/xgene/xgene_enet_main.c xgene_enet_rx_csum() -> ip_is_fragment()

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

drivers/net/ethernet/apm/xgene/xgene_enet_main.c xgene_enet_work_msg() -> ip_is_fragment()

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 &ndev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

net/ipv4/ip_input.c ip_call_ra_chain() -> ip_is_fragment()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/ipv4/ip_input.c ip_local_deliver() -> ip_is_fragment()

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

net/ipv4/ip_input.c ip_rcv_finish_core() -> ip_is_fragment()

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 bh
HALF_LOCKED2 rcu_read

net/ipv4/ip_fragment.c ip_check_defrag() -> ip_is_fragment()

Type Parameter Key Value
PARAM_VALUE 0 iph 6581460083596939264
PARAM_VALUE 0 iph->ihl 5-15
PARAM_VALUE 0 iph->tot_len 20-u16max
PARAM_VALUE 0 iph->version 4
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/netfilter/nf_flow_table_ip.c nf_flow_ip4_tunnel_proto() -> ip_is_fragment()

Type Parameter Key Value
PARAM_VALUE 0 iph 4096-ptr_max
PARAM_VALUE 0 iph->ihl 5-15
FUZZY_MAX 0 iph->ihl 5
RX_PATH
TASK_NOT_RUNNING
UNITS 0 iph unit_byte
HALF_LOCKED2 rcu_read

net/netfilter/nf_flow_table_ip.c nf_flow_tuple_ip() -> ip_is_fragment()

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

net/netfilter/nf_conntrack_proto.c ipv4_conntrack_local() -> ip_is_fragment()

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

net/ipv4/netfilter/nf_defrag_ipv4.c ipv4_conntrack_defrag() -> ip_is_fragment()

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

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

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