Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 10 files:
- drivers/net/vrf.c, line 532
- net/bridge/br_multicast.c, line 997
- net/ipv4/arp.c, line 374
- net/ipv4/devinet.c, line 1428
- net/ipv4/fib_frontend.c, line 327
- net/ipv4/fib_semantics.c
- net/ipv4/icmp.c, line 937
- net/ipv4/route.c
- net/netfilter/ipvs/ip_vs_sync.c, line 1424
- net/netfilter/nf_nat_masquerade.c, line 54
Smatch caller information:
net/ipv4/fib_frontend.c fib_compute_spec_dst() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 2 | scope | 0,253 |
| CAPPED_DATA | 0 | dev->ip_ptr | 1 |
| CAPPED_DATA | 0 | dev->nd_net.net | 1 |
| FUZZY_MAX | 2 | scope | 253 |
| BIT_INFO | 2 | scope | 0x0,0xfd |
| HARD_MAX | 2 | scope | 253 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | dev->group | |
| NO_OVERFLOW_SIMPLE | 0 | dev->num_tc | |
| NO_OVERFLOW_SIMPLE | 0 | dev->proto_down | |
| NO_OVERFLOW_SIMPLE | 0 | dev->real_num_rx_queues | |
| NO_OVERFLOW_SIMPLE | 0 | dev->real_num_tx_queues | |
| NO_OVERFLOW_SIMPLE | 0 | dev->stats.rx_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | dev->stats.tx_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | dev->tx_queue_len | |
| UNITS | 0 | dev | unit_byte |
| UNITS | 1 | dst | unit_byte |
| HALF_LOCKED2 | bh |
drivers/net/vrf.c vrf_process_v4_outbound() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | dst | 0 |
| PARAM_VALUE | 2 | scope | 253 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dev | unit_byte |
| HALF_LOCKED2 | &txq->_xmit_lock | ||
| HALF_LOCKED2 | &vrf_dev->tx_global_lock | ||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | rcu_read |
net/ipv4/fib_semantics.c fib_info_update_nhc_saddr() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | dst | 0 |
| DATA_SOURCE | 2 | scope | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dev | unit_byte |
net/ipv4/fib_semantics.c fib_info_update_nhc_saddr() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 2 | scope | $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dev | unit_byte |
| UNITS | 1 | dst | unit_byte |
| HALF_LOCKED2 | &net->rtnl_mutex | ||
| HALF_LOCKED2 | global &rtnl_mutex |
net/ipv4/fib_semantics.c fib_select_path() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 1 | dst | 0 |
| PARAM_VALUE | 2 | scope | 253 |
| CAPPED_DATA | 0 | dev->ifindex | 1 |
| DATA_SOURCE | 0 | dev | r dev_get_by_index_rcu |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
net/ipv4/arp.c arp_solicit() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->ip_ptr->dev | 4096-ptr_max |
| PARAM_VALUE | 2 | scope | 253 |
| CAPPED_DATA | 0 | dev->ip_ptr | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | dst | 0-u32max |
| UNITS | 0 | dev | unit_byte |
| HALF_LOCKED2 | bh |
net/ipv4/icmp.c __icmp_send() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 2 | scope | 253 |
| CAPPED_DATA | 0 | dev->ifindex | 1 |
| DATA_SOURCE | 0 | dev | r dev_get_by_index_rcu |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | dst | unit_byte |
| LOCK2 | bh | ||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &x->lock |
net/bridge/br_multicast.c br_ip4_multicast_alloc_query() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->dev_addr | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool_ops->begin | 0,5,1835931156019712000,3096438129622650880,3900617307435175936,5716752743725981696,7946597811871383552,8525681326485266432 |
| PARAM_VALUE | 0 | dev->ethtool_ops->complete | 0,7,3066456658599772160,3725154072746565632,6586841582423441408,7106287630129446912 |
| PARAM_VALUE | 0 | dev->ethtool_ops->get_mm | 0,85,871246504159531008,1782640983197487104,6800978227696902144,8546551779893547008 |
| PARAM_VALUE | 0 | dev->ethtool_ops->set_mm | 0,6,1901320415777849344,3866000723147972608,5541409492295524352,6099901598508961792 |
| PARAM_VALUE | 0 | dev->ethtool_ops->supported_coalesce_params | 0-3,17,19,34-35,48,51,59,63,204,236,273,511,513,529,547,561,563,595,597,1553,1587,1681,132625,135697,657041,677393,2029107,2097665,2300433,2300595,3653155,12583935,12584499,13239859,117440512,536872499,s32max |
| PARAM_VALUE | 0 | dev->mtu | 46-u32max |
| PARAM_VALUE | 0 | dev->rtnl_link_ops->priv_size | 0,8,32,40,48,56,88,112,120,144,160,224,240,256,296,616,624,728,744,1056,1128,1336,1616,2176,2240,2272,2560,3296,3544,9688-u64max |
| PARAM_VALUE | 1 | dst | 0 |
| PARAM_VALUE | 2 | scope | 253 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &br->multicast_lock | ||
| HALF_LOCKED2 | &brmctx->br->multicast_lock | ||
| TYPE_LOCK | (struct net_bridge)->multicast_lock |
net/netfilter/ipvs/ip_vs_sync.c bind_mcastif_addr() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 1 | dst | 0 |
| PARAM_VALUE | 2 | scope | 0 |
| DATA_SOURCE | 0 | dev | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &ipvs->sync_mutex | ||
| LOCK2 | global &rtnl_mutex | ||
| TYPE_LOCK | (struct netns_ipvs)->sync_mutex |
net/netfilter/nf_nat_masquerade.c nf_nat_masquerade_ipv4() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 2 | scope | 0 |
| DATA_SOURCE | 0 | dev | $3 |
| DATA_SOURCE | 1 | dst | r rt_nexthop |
| RX_PATH | |||
| TASK_NOT_RUNNING |
net/ipv4/route.c ip_route_output_key_hash_rcu() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->flags | 1-u32max |
| PARAM_VALUE | 0 | dev->ip_ptr | 1-u64max |
| PARAM_VALUE | 1 | dst | 0 |
| PARAM_VALUE | 2 | scope | 253 |
| CAPPED_DATA | 0 | dev->ifindex | 1 |
| CAPPED_DATA | 0 | dev->ip_ptr | 1 |
| DATA_SOURCE | 0 | dev | r dev_get_by_index_rcu |
| BIT_INFO | 0 | dev->flags | 0x1,0xffffffffffffffff |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
net/ipv4/route.c ip_route_output_key_hash_rcu() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->flags | 1-u32max |
| PARAM_VALUE | 0 | dev->ip_ptr | 1-u64max |
| PARAM_VALUE | 1 | dst | 0 |
| CAPPED_DATA | 0 | dev->ifindex | 1 |
| CAPPED_DATA | 0 | dev->ip_ptr | 1 |
| DATA_SOURCE | 0 | dev | r dev_get_by_index_rcu |
| BIT_INFO | 0 | dev->flags | 0x1,0xffffffffffffffff |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
net/ipv4/route.c ip_route_output_key_hash_rcu() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->flags | 1-u32max |
| PARAM_VALUE | 0 | dev->ip_ptr | 1-u64max |
| PARAM_VALUE | 1 | dst | 0 |
| PARAM_VALUE | 2 | scope | 254 |
| CAPPED_DATA | 0 | dev->ifindex | 1 |
| CAPPED_DATA | 0 | dev->ip_ptr | 1 |
| DATA_SOURCE | 0 | dev | r dev_get_by_index_rcu |
| BIT_INFO | 0 | dev->flags | 0x1,0xffffffffffffffff |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
net/ipv4/route.c ip_route_output_key_hash_rcu() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->flags | 1-u32max |
| PARAM_VALUE | 0 | dev->ip_ptr | 1-u64max |
| PARAM_VALUE | 1 | dst | 0 |
| PARAM_VALUE | 2 | scope | 253 |
| CAPPED_DATA | 0 | dev->ifindex | 1 |
| CAPPED_DATA | 0 | dev->ip_ptr | 1 |
| DATA_SOURCE | 0 | dev | r dev_get_by_index_rcu |
| BIT_INFO | 0 | dev->flags | 0x1,0xffffffffffffffff |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
net/ipv4/route.c ip_rt_get_source() -> inet_select_addr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 2 | scope | 0 |
| CAPPED_DATA | 0 | dev->nd_net.net | 1 |
| DATA_SOURCE | 0 | dev | r dst_dev_rcu |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |