Defined in 1 files as a prototype:

Defined in 1 files as a member:

Defined in 1 files as a function:

Referenced in 25 files:

Smatch caller information:

net/rds/ib_cm.c __rds_find_ifindex() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net 1824583183996030976
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 1
BUF_SIZE 1 addr 16
DATA_SOURCE 0 net $0
DATA_SOURCE 1 addr $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &id_priv->handler_mutex
HALF_LOCKED2 &listen_id->handler_mutex

drivers/infiniband/hw/irdma/cm.c irdma_get_vlan_mac_ipv6() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net 1824583183996030976
PARAM_VALUE 1 addr 3276793319274668032
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/infiniband/hw/irdma/cm.c irdma_iw_get_vlan_prio() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net 1824583183996030976
PARAM_VALUE 1 addr 4231507187541442560
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &dev->puda_cq_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 irq

drivers/infiniband/core/addr.c rdma_find_ndev_for_src_ip_rcu() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 1
BUF_SIZE 0 net (-1),10624
BUF_SIZE 0 net (-1),10624
DATA_SOURCE 0 net $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 rcu_read

net/rds/tcp.c rds_tcp_laddr_check() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 0,4096-ptr_max
PARAM_VALUE 3 strict 0
BUF_SIZE 1 addr (-1),16
BUF_SIZE 1 addr (-1),16
DATA_SOURCE 0 net $0
DATA_SOURCE 1 addr $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &rtn->rds_tcp_accept_lock
HALF_LOCKED2 global &rds_trans_sem
HALF_LOCKED2 sk

drivers/infiniband/hw/qedr/qedr_iw_cm.c qedr_iw_get_vlan_ipv6() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net 1824583183996030976
PARAM_VALUE 1 addr 9221521111863898112
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/rds/ib.c rds_ib_laddr_check_cm() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net 1824583183996030976
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 2 dev->refcnt_tracker.list.next 4096-ptr_max
PARAM_VALUE 2 dev->refcnt_tracker.list.next->next 4096-ptr_max
PARAM_VALUE 2 dev->refcnt_tracker.list.next->prev 4096-ptr_max
PARAM_VALUE 2 dev->rtnl_link_ops->priv_size 0,8,32,48,56,88,112,120,144,160,224,240,256,296,616,624,728,736
PARAM_VALUE 3 strict 1
BUF_SIZE 1 addr (-1),16
BUF_SIZE 1 addr (-1),16
CAPPED_DATA 2 dev->ifindex 1
DATA_SOURCE 1 addr $1
DATA_SOURCE 2 dev r dev_get_by_index
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rds_trans_sem
HALF_LOCKED2 sk

drivers/net/wireguard/socket.c send6() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 1 addr 8164537806171226168
PARAM_VALUE 2 dev 0
PARAM_VALUE 3 strict 0
PREEMPT_ADD <- disables preempt
LOCK2 rcu_read
HALF_LOCKED2 &peer->endpoint_lock
HALF_LOCKED2 bh

net/bridge/br_arp_nd_proxy.c br_chk_addr_ip6() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 0
BUF_SIZE 1 addr 2,4,8,12,16,24,32
BUF_SIZE 1 addr 2,4,8,12,16,24,32
CAPPED_DATA 2 dev->nd_net.net 1
DATA_SOURCE 2 dev $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 2 dev->group
NO_OVERFLOW_SIMPLE 2 dev->num_tc
UNITS 1 addr unit_byte
UNITS 2 dev unit_byte
HALF_LOCKED2 rcu_read

drivers/infiniband/ulp/ipoib/ipoib_main.c ipoib_is_dev_match_addr_rcu() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 1
CAPPED_DATA 2 dev->nd_net.net 1
DATA_SOURCE 2 dev $1
TASK_NOT_RUNNING
UNITS 0 net unit_byte
HALF_LOCKED2 rcu_read

drivers/infiniband/hw/cxgb4/cm.c import_ep() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net 1824583183996030976
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 1
BUF_SIZE 1 addr 4,16
BUF_SIZE 1 addr 4,16
CAPPED_DATA 2 &dev->dev_list 1
DATA_SOURCE 1 addr $2
RX_PATH
TASK_NOT_RUNNING
USER_PTR 1 addr
LOCK2 rcu_read

net/l2tp/l2tp_ip6.c l2tp_ip6_bind() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 0,4096-ptr_max
PARAM_VALUE 3 strict 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
LOCK2 sk

net/sctp/protocol.c sctp_addr_wq_timeout_handler() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->sctp.addr_wq_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 0
PARAM_VALUE 3 strict 0
BUF_SIZE 1 addr 16
CAPPED_DATA 0 &net->sctp.addr_waitq 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 0 &net->sctp.addr_wq_lock
TYPE_LOCK (struct netns_sctp)->addr_wq_lock

drivers/net/bonding/bond_main.c bond_confirm_addr6() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 2 *dev->name 0-255
PARAM_VALUE 3 strict 0
BUF_SIZE 1 addr 2,4,8,12,16,24,32
BUF_SIZE 1 addr 2,4,8,12,16,24,32
CAPPED_DATA 2 dev->nd_net.net 1
DATA_SOURCE 2 dev $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 2 dev->group
NO_OVERFLOW_SIMPLE 2 dev->num_tc
UNITS 1 addr unit_byte
UNITS 2 dev unit_byte

drivers/net/ovpn/udp.c ovpn_udp6_output() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 1 addr 1166311388844220472
PARAM_VALUE 2 dev 0
PARAM_VALUE 3 strict 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock

net/ipv6/route.c __rt6_device_match() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 0 net->ipv4.fqdir->f->qsize 0,304,320
PARAM_VALUE 0 net->loopback_dev->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,34,50
PARAM_VALUE 3 strict 0-1
BUF_SIZE 0 net (-1),1-s32max
BUF_SIZE 0 net (-1),1-s32max
DATA_SOURCE 0 net $0
DATA_SOURCE 1 addr $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
UNITS 2 dev unit_byte
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 &net->ipv4.mfc_mutex
HALF_LOCKED2 0 &net->ipv6.mfc_mutex

net/ipv6/route.c fib6_remove_prefsrc() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 3 strict 0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
UNITS 2 dev unit_byte
LOCK2 bh
HALF_LOCKED2 &iter->tbl->tb6_lock
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 &table->tb6_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct fib6_table)->tb6_lock

net/ipv6/route.c ip6_route_info_create_nh() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 3 strict 0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
UNITS 2 dev unit_byte

net/ipv6/raw.c rawv6_bind() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 0,4096-ptr_max
PARAM_VALUE 3 strict 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
LOCK2 sk

net/netfilter/xt_addrtype.c nf_ipv6_chk_addr() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 1
DATA_SOURCE 0 net $0
DATA_SOURCE 1 addr $1
DATA_SOURCE 2 dev $2
DATA_SOURCE 3 strict $3
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
UNITS 2 dev unit_byte
HALF_LOCKED2 &table->lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/ipv6/af_inet6.c __inet6_bind() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->ipv6.sysctl.ip_nonlocal_bind 0
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 0,4096-ptr_max
PARAM_VALUE 3 strict 0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 rcu_read
HALF_LOCKED2 sk

drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_ipv6_netdev() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net 1824583183996030976
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 1
BUF_SIZE 1 addr (-1),16
BUF_SIZE 1 addr (-1),16
DATA_SOURCE 1 addr $0
RX_PATH
TASK_NOT_RUNNING
USER_PTR 1 addr
LOCK2 rcu_read
HALF_LOCKED2 &tpg->tpg_access_lock
HALF_LOCKED2 global &cdev_list_lock
HALF_LOCKED2 global &np_lock

net/ipv6/ndisc.c ndisc_router_discovery() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 0
CAPPED_DATA 2 dev->nd_net.net 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
UNITS 2 dev unit_byte

net/ipv6/ndisc.c ndisc_router_discovery() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 0
CAPPED_DATA 2 dev->nd_net.net 1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 dev unit_byte

net/sctp/ipv6.c sctp_inet6_bind_verify() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->ipv6.sysctl.ip_nonlocal_bind 0
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 0
CAPPED_DATA 2 dev->ifindex 1
DATA_SOURCE 2 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 rcu_read
HALF_LOCKED2 sk

net/sctp/ipv6.c sctp_v6_available() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->ipv6.sysctl.ip_nonlocal_bind 0
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 0,4096-ptr_max
PARAM_VALUE 3 strict 0
BUF_SIZE 1 addr 16
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 rcu_read

net/sctp/ipv6.c sctp_v6_get_dst() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 strict 1
CAPPED_DATA 2 dev->nd_net.net 1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 dev unit_byte
LOCK2 rcu_read

net/ipv6/netfilter/nft_fib_ipv6.c nf_ipv6_chk_addr() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 1 addr 7895334129672425512
PARAM_VALUE 2 dev 1-u64max
PARAM_VALUE 3 strict 1
DATA_SOURCE 0 net $0
DATA_SOURCE 1 addr $1
DATA_SOURCE 2 dev $2
DATA_SOURCE 3 strict $3
UNITS 2 dev unit_byte

net/ipv6/icmp.c icmp6_send() -> ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 2 dev->nd_net.net 4096-ptr_max
PARAM_VALUE 2 dev->nd_net.net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 2 dev->nd_net.net->ipv4.fqdir->f->qsize 0,304,320
PARAM_VALUE 2 dev->ndisc_ops->fill_addr_option 4096-ptr_max
PARAM_VALUE 2 dev->ndisc_ops->parse_options 4096-ptr_max
PARAM_VALUE 2 dev->ndisc_ops->update 4096-ptr_max
PARAM_VALUE 2 dev->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,34,50
PARAM_VALUE 2 dev->rtnl_link_ops->priv_size 0,8,32,40,48,56,88,112,120,144,160,224,240,256,296,616,624,728,736,744,1056,1128,1336,1616,2176,2240,2272,2560,3296,3544,3552,3720,9688-u64max
PARAM_VALUE 3 strict 0
CAPPED_DATA 2 dev->nd_net.net 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 2 dev->group
NO_OVERFLOW_SIMPLE 2 dev->num_tc
NO_OVERFLOW_SIMPLE 2 dev->proto_down
NO_OVERFLOW_SIMPLE 2 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 2 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 2 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 2 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 2 dev->tx_queue_len
UNITS 0 net unit_byte
UNITS 2 dev unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &x->lock
HALF_LOCKED2 bh

net/ipv4/ping.c ping_check_bind_addr() -> (struct pingv6_ops)->ipv6_chk_addr()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 0,4096-ptr_max
PARAM_VALUE 3 strict 0
DATA_SOURCE 3 strict r __ipv6_addr_needs_scope_id
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read