Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 5 files:
- drivers/net/netkit.c, line 292
- net/core/dev.c
- net/ethtool/common.c, line 820
- net/ethtool/rings.c, line 260
- net/xdp/xsk_buff_pool.c, line 238
Smatch caller information:
drivers/net/netkit.c netkit_xsk() -> dev_get_min_mp_channel_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | dev->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | dev->netdev_ops | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &dev->lock | |
| HALF_LOCKED2 | &dev->lock | ||
| HALF_LOCKED2 | &xs->mutex | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| TYPE_LOCK | (struct net_device)->lock |
net/xdp/xsk_buff_pool.c xp_assign_dev() -> dev_get_min_mp_channel_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | dev->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | dev->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | dev->mtu | 0-4294967270 |
| PARAM_VALUE | 0 | dev->netdev_ops | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->refcnt_tracker.list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->refcnt_tracker.list.next->prev | 4096-ptr_max |
| CAPPED_DATA | 0 | dev->ifindex | 1 |
| CAPPED_DATA | 0 | dev->real_num_rx_queues | 1 |
| DATA_SOURCE | 0 | dev | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &xs->mutex | ||
| LOCK2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | &buffer->mutex | ||
| HALF_LOCKED2 | &frag->frag_sem | ||
| HALF_LOCKED2 | global &o2nm_cluster_group.cs_subsys.su_mutex | ||
| TYPE_LOCK | (struct xdp_sock)->mutex |
net/ethtool/rings.c ethnl_set_rings() -> dev_get_min_mp_channel_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->cfg | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->cfg_pending | 1-u64max |
| PARAM_VALUE | 0 | dev->dev.parent | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool_ops | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool_ops->get_ringparam | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | dev->netdev_ops | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dev->lock | ||
| HALF_LOCKED2 | &devlink->lock | ||
| 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 &dpll_lock | ||
| HALF_LOCKED2 | global &hwsim_phys_lock | ||
| HALF_LOCKED2 | global &net_dm_mutex | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | global &rx_queue_mutex | ||
| HALF_LOCKED2 | rcu_read |
net/core/dev.c dev_xdp_install() -> dev_get_min_mp_channel_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->cfg | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->dev.power.wakeirq->status | 0-4294967295 |
| PARAM_VALUE | 0 | dev->netdev_ops | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->netdev_ops->ndo_bpf | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->netdev_ops->ndo_change_carrier | 0,885170895855865856,1782477489044140032,2219068876340936704,3313908872681771008,6182840514861293568,6498501278544633856 |
| PARAM_VALUE | 0 | dev->netdev_ops->ndo_set_config | 0,1586268954384080896,2133952100825280512,4430316855586635776 |
| PARAM_VALUE | 0 | dev->netdev_ops->ndo_set_vf_guid | 0,1993202516722049024 |
| PARAM_VALUE | 0 | dev->netdev_ops->ndo_set_vf_port | 0,6678536409099956224 |
| PARAM_VALUE | 0 | dev->netdev_ops->ndo_set_vf_vlan | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->netdev_ops->ndo_uninit | 0,4096-ptr_max |
| 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,736,744,1056,1128,1336,1616,2176,2240,2272,2560,3296,3552,3720,9688-u64max |
| DATA_SOURCE | 0 | dev | $0 |
| NOSPEC | 0 | dev->flags | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dev->flags | 0-527361[c] |
| USER_DATA | 0 | dev->mtu | 0-s32max[c] |
| NO_OVERFLOW_SIMPLE | 0 | dev->group | |
| NO_OVERFLOW_SIMPLE | 0 | dev->tx_queue_len | |
| HALF_LOCKED2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | 0 | &dev->lock |
net/core/dev.c netif_xdp_propagate() -> dev_get_min_mp_channel_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->cfg | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->netdev_ops | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->netdev_ops->ndo_bpf | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->netdev_ops->ndo_set_config | 0,1586268954384080896,2133952100825280512,4430316855586635776 |
| PARAM_VALUE | 0 | dev->netdev_ops->ndo_xdp_xmit | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->rtnl_link_ops->alloc | 0,1182153660833808384,3130032447137456128 |
| PARAM_VALUE | 0 | dev->rtnl_link_ops->get_num_rx_queues | 0,1694260139628544000,4559208055891021824,7097615251001798656,8443738062496038912 |
| PARAM_VALUE | 0 | dev->rtnl_link_ops->get_num_tx_queues | 0,1694260139628544000,4559208055891021824,7071371917186535424,8443738062496038912 |
| PARAM_VALUE | 0 | dev->rtnl_link_ops->maxtype | 0-6,8-10,15,18,20,22,24,34,50 |
| PARAM_VALUE | 0 | dev->rtnl_link_ops->peer_type | 0-1 |
| BUF_SIZE | 0 | dev->nd_net.net | (-1),10304,10432 |
| DATA_SOURCE | 0 | dev | $0 |
| NOSPEC | 0 | dev->ifindex | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dev->flags | 2048-525824[c] |
| USER_DATA | 0 | dev->ifindex | 0-s32max[c] |
| 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 | |
| UNITS | 0 | dev | unit_byte |
net/ethtool/common.c ethtool_check_max_channel() -> dev_get_min_mp_channel_count()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool->rss_indir_user_size | 0-1 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->task->blocked_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->task->blocked_lock.owner | (-1) |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->task->blocked_lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->task->blocked_lock.raw_lock.val.counter | s32min-s32max |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | dev->ethtool_ops | 4096-ptr_max |
| PARAM_VALUE | 0 | *dev->name | 0-255 |
| DATA_SOURCE | 0 | dev | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING |