Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/ipv6/addrconf.c addrconf_prefix_rcv_add_addr() -> ipv6_get_ifaddr()

Type Parameter Key Value
PARAM_VALUE 1 addr 8678755121801969664
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 2 dev->ip6_ptr 4096-ptr_max
PARAM_VALUE 2 dev->ndisc_ops->prefix_rcv_add_addr 6998950082760986624
PARAM_VALUE 3 strict 1
CAPPED_DATA 2 dev->nd_net.net 1
DATA_SOURCE 0 net $0
DATA_SOURCE 1 addr $4
DATA_SOURCE 2 dev $1
UNITS 0 net unit_byte

net/ipv6/addrconf.c inet6_rtm_getaddr() -> ipv6_get_ifaddr()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 0,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
DATA_SOURCE 1 addr r extract_addr
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
USER_PTR 1 addr
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex

net/ipv6/addrconf.c inet6_rtm_newaddr() -> ipv6_get_ifaddr()

Type Parameter Key Value
PARAM_VALUE 0 net->rtnl_mutex.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 2 dev->ip6_ptr 4096-ptr_max
PARAM_VALUE 2 dev->lock.dep_map->name 0-255
PARAM_VALUE 2 dev->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 2 dev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 2 dev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 2 dev->mtu 0-s32max
PARAM_VALUE 2 dev->netdev_ops 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->udp_tunnel_nic->lock.dep_map->name 0-255
PARAM_VALUE 2 dev->udp_tunnel_nic->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 2 dev->udp_tunnel_nic->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 2 dev->udp_tunnel_nic->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 2 dev->udp_tunnel_nic->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 2 dev->udp_tunnel_nic->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 2 dev->udp_tunnel_nic->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 2 dev->udp_tunnel_nic->lock.osq.tail.counter 0-s32max
PARAM_VALUE 2 *dev->name 0-255
PARAM_VALUE 3 strict 1
CAPPED_DATA 2 dev 1
CAPPED_DATA 2 dev->ifindex 1
DATA_SOURCE 1 addr r extract_addr
DATA_SOURCE 2 dev r __dev_get_by_index
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
USER_PTR 1 addr
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/ipv6/ip6_output.c ip6_dst_lookup_tail() -> ipv6_get_ifaddr()

Type Parameter Key Value
PARAM_VALUE 0 net->loopback_dev->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,34,50
PARAM_VALUE 1 addr 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
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
UNITS 2 dev unit_byte
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh

net/ipv6/ndisc.c ndisc_recv_na() -> ipv6_get_ifaddr()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 2 dev->ip6_ptr 1-u64max
PARAM_VALUE 3 strict 1
CAPPED_DATA 2 dev->ip6_ptr 1
CAPPED_DATA 2 dev->nd_net.net 1
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 2 dev unit_byte

net/ipv6/ndisc.c ndisc_recv_ns() -> ipv6_get_ifaddr()

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
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 2 dev unit_byte
HALF_LOCKED2 &tbl->proxy_queue.lock
HALF_LOCKED2 rcu_read

net/ipv6/ndisc.c ndisc_recv_ns() -> ipv6_get_ifaddr()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 1-u64max
PARAM_VALUE 3 strict 1
DATA_SOURCE 2 dev r netdev_master_upper_dev_get_rcu
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
HALF_LOCKED2 &tbl->proxy_queue.lock
HALF_LOCKED2 rcu_read

net/ipv6/ndisc.c ndisc_send_na() -> ipv6_get_ifaddr()

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 1
CAPPED_DATA 2 dev->nd_net.net 1
DATA_SOURCE 1 addr $2
DATA_SOURCE 2 dev $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 2 dev->group
NO_OVERFLOW_SIMPLE 2 dev->num_tc
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 2 dev unit_byte
HALF_LOCKED2 &idev->lock
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex

net/ipv6/ndisc.c ndisc_send_rs() -> ipv6_get_ifaddr()

Type Parameter Key Value
PARAM_VALUE 1 addr 6024996798754246656,6109400628669722624,6864414315132223488
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 2 dev->addr_len 1-255
PARAM_VALUE 3 strict 1
CAPPED_DATA 2 dev->nd_net.net 1
DATA_SOURCE 1 addr $1
DATA_SOURCE 2 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 2 dev unit_byte
HALF_LOCKED2 &af_ops->srcu
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex