Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

net/ethtool/ioctl.c ethtool_set_channels() -> ethtool_check_max_channel()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->dev.parent 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.parent->bus 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.parent->class 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.parent->power.request 0-4
PARAM_VALUE 0 dev->dev.parent->power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 dev->dev.parent->power.wakeirq 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.parent->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 dev->dev.parent->type 0,4096-ptr_max
PARAM_VALUE 0 dev->ethtool_ops 4096-ptr_max
PARAM_VALUE 0 dev->ethtool_ops->begin 0,1835931156019712000,3096438129622650880,3900617307435175936,5716752743725981696,7946597811871383552,8525681326485266432
PARAM_VALUE 0 dev->ethtool_ops->get_channels 1-u64max
PARAM_VALUE 0 dev->ethtool_ops->set_channels 1-u64max
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->moving_ns 0
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
PARAM_VALUE 0 dev->reg_state 0-1
PARAM_VALUE 2 info 0
CAPPED_DATA 0 dev->nd_net.net 1
DATA_SOURCE 0 dev $0
FUZZY_MAX 0 dev->reg_state 1
HARD_MAX 0 dev->reg_state 1
HALF_LOCKED2 global &rtnl_mutex

net/ethtool/channels.c ethnl_set_channels() -> ethtool_check_max_channel()

Type Parameter Key Value
PARAM_VALUE 0 dev 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->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
PARAM_VALUE 2 info 4201664097468477440
PARAM_VALUE 2 info->attrs 4096-ptr_max
PARAM_VALUE 2 info->extack 4971238048455385088
PARAM_VALUE 2 info->family 4096-ptr_max
PARAM_VALUE 2 info->genlhdr 4096-ptr_max
PARAM_VALUE 2 info->nlhdr 4096-ptr_max
CAPPED_DATA 2 info->_net.net 1
CAPPED_DATA 2 info->family->n_ops 1
CAPPED_DATA 2 info->family->n_small_ops 1
CAPPED_DATA 2 info->family->resv_start_op 1
CAPPED_DATA 2 info->nlhdr->nlmsg_len 1
DATA_SOURCE 2 info $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 info->extack->miss_nest->nla_type 0-u16max
USER_DATA 2 info->snd_seq 0-u32max[u]
USER_PTR 2 info->genlhdr
USER_PTR 2 info->nlhdr
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