Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/bonding/bond_main.c __bond_release_one() -> bond_select_active_slave()

Type Parameter Key Value
PARAM_VALUE 0 bond 4096-ptr_max
PARAM_VALUE 0 bond->curr_active_slave 0,4096-ptr_max
PARAM_VALUE 0 bond->current_arp_slave 0
PARAM_VALUE 0 bond->dev 4096-ptr_max
PARAM_VALUE 0 bond->dev->priv->stats_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bond->dev->refcnt_tracker.quarantine.prev->next 4096-ptr_max
PARAM_VALUE 0 bond->dev->refcnt_tracker.quarantine.prev->next->next 4096-ptr_max
CAPPED_DATA 0 bond->dev 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/bonding/bond_main.c bond_ab_arp_commit() -> bond_select_active_slave()

Type Parameter Key Value
PARAM_VALUE 0 bond 4096-ptr_max
PARAM_VALUE 0 bond->current_arp_slave 0
PARAM_VALUE 0 bond->current_arp_slave->dev->rtnl_link_ops->priv_size 0,8,32,48,56,88,112,120,144,160,224,240,256,296,616,624,728,736,1056,1128,1336,1616,2176,2240,2272,2560,3296,3720,9688-u64max
PARAM_VALUE 0 bond->dev 4096-ptr_max
PARAM_VALUE 0 bond->dev->dev.parent 0,4096-ptr_max
PARAM_VALUE 0 bond->params.mode 1
PARAM_VALUE 0 *bond->dev->name 0
DATA_SOURCE 0 bond $0
NOCHECK_CALL
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &pool->lock

drivers/net/bonding/bond_main.c bond_loadbalance_arp_mon() -> bond_select_active_slave()

Type Parameter Key Value
PARAM_VALUE 0 bond 4096-ptr_max
PARAM_VALUE 0 bond->dev 4096-ptr_max
PARAM_VALUE 0 bond->dev->dev.parent 0,4096-ptr_max
PARAM_VALUE 0 bond->params.mode s32min-0,2-s32max
PARAM_VALUE 0 *bond->dev->name 0-255
CAPPED_DATA 0 &bond->dev->adj_list.lower 1
DATA_SOURCE 0 bond $0
PARAM_COMPARE 0 &bond->dev->adj_list.lower != $0->dev->adj_list.lower.next
NOCHECK_CALL
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &pool->lock

drivers/net/bonding/bond_main.c bond_miimon_commit() -> bond_select_active_slave()

Type Parameter Key Value
PARAM_VALUE 0 bond 4096-ptr_max
PARAM_VALUE 0 bond->dev 4096-ptr_max
PARAM_VALUE 0 bond->usable_slaves 0,4096-ptr_max
PARAM_VALUE 0 *bond->curr_active_slave->bond->dev->name 0-255
PARAM_VALUE 0 *bond->curr_active_slave->dev->name 0-255
PARAM_VALUE 0 *bond->dev->name 0-255
DATA_SOURCE 0 bond $0
NOCHECK_CALL
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &pool->lock

drivers/net/bonding/bond_main.c bond_slave_netdev_event() -> bond_select_active_slave()

Type Parameter Key Value
PARAM_VALUE 0 bond 4096-ptr_max
PARAM_VALUE 0 bond->dev 0,4096-ptr_max
PARAM_VALUE 0 bond->dev->dev.parent 0,4096-ptr_max
PARAM_VALUE 0 bond->params.mode 1,5-6
PARAM_VALUE 0 bond->params.primary 4096-ptr_max
PARAM_VALUE 0 bond->primary_slave 0,4096-ptr_max
PARAM_VALUE 0 *bond->dev->name 0
NOCHECK_CALL

drivers/net/bonding/bond_options.c bond_option_active_slave_set() -> bond_select_active_slave()

Type Parameter Key Value
PARAM_VALUE 0 bond 4096-ptr_max
PARAM_VALUE 0 bond->dev 4096-ptr_max
PARAM_VALUE 0 *bond->dev->name 0-255
PARAM_VALUE 0 *bond->params.arp_targets 0-4294967295
CAPPED_DATA 0 bond->dev 1
DATA_SOURCE 0 bond $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rtnl_mutex

drivers/net/bonding/bond_options.c bond_option_primary_reselect_set() -> bond_select_active_slave()

Type Parameter Key Value
PARAM_VALUE 0 bond 4096-ptr_max
PARAM_VALUE 0 *bond->dev->name 0-255
PARAM_VALUE 0 *bond->params.arp_targets 0-4294967295
DATA_SOURCE 0 bond $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rtnl_mutex

drivers/net/bonding/bond_options.c bond_option_primary_set() -> bond_select_active_slave()

Type Parameter Key Value
PARAM_VALUE 0 bond 4096-ptr_max
PARAM_VALUE 0 bond->primary_slave 0
PARAM_VALUE 0 *bond->dev->name 0-255
PARAM_VALUE 0 *bond->params.arp_targets 0-4294967295
DATA_SOURCE 0 bond $0
MEM_ZERO 0 bond->params.primary
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rtnl_mutex

drivers/net/bonding/bond_options.c bond_option_primary_set() -> bond_select_active_slave()

Type Parameter Key Value
PARAM_VALUE 0 bond 4096-ptr_max
PARAM_VALUE 0 bond->dev 4096-ptr_max
PARAM_VALUE 0 bond->force_primary 1
PARAM_VALUE 0 bond->primary_slave 4096-ptr_max
PARAM_VALUE 0 *bond->dev->name 0-255
PARAM_VALUE 0 *bond->params.arp_targets 0-4294967295
DATA_SOURCE 0 bond $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rtnl_mutex

drivers/net/bonding/bond_options.c bond_option_primary_set() -> bond_select_active_slave()

Type Parameter Key Value
PARAM_VALUE 0 bond 4096-ptr_max
PARAM_VALUE 0 bond->dev 4096-ptr_max
PARAM_VALUE 0 bond->primary_slave 0
PARAM_VALUE 0 *bond->dev->name 0-255
PARAM_VALUE 0 *bond->params.arp_targets 0-4294967295
DATA_SOURCE 0 bond $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rtnl_mutex

drivers/net/bonding/bond_options.c bond_option_prio_set() -> bond_select_active_slave()

Type Parameter Key Value
PARAM_VALUE 0 bond 4096-ptr_max
PARAM_VALUE 0 bond->primary_slave 0
PARAM_VALUE 0 *bond->params.arp_targets 0-4294967295
DATA_SOURCE 0 bond $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rtnl_mutex