Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/bonding/bond_main.c bond_ethtool_get_link_ksettings() -> bond_slave_can_tx()

Type Parameter Key Value
PARAM_VALUE 0 slave 1-u64max
BUF_SIZE 0 slave 1104
BUF_SIZE 0 slave 1104
DATA_SOURCE 0 slave r netdev_lower_get_next_private
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &rtnl_mutex

drivers/net/bonding/bond_main.c bond_get_slave_by_id() -> bond_slave_can_tx()

Type Parameter Key Value
PARAM_VALUE 0 slave 1-u64max
BUF_SIZE 0 slave 1104
BUF_SIZE 0 slave 1104
DATA_SOURCE 0 slave r netdev_lower_get_next_private_rcu
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

drivers/net/bonding/bond_main.c bond_get_slave_by_id() -> bond_slave_can_tx()

Type Parameter Key Value
PARAM_VALUE 0 slave 1-u64max
BUF_SIZE 0 slave 1104
BUF_SIZE 0 slave 1104
DATA_SOURCE 0 slave r netdev_lower_get_next_private_rcu
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

drivers/net/bonding/bond_main.c bond_update_slave_arr() -> bond_slave_can_tx()

Type Parameter Key Value
PARAM_VALUE 0 slave 1-u64max
BUF_SIZE 0 slave 1104
BUF_SIZE 0 slave 1104
DATA_SOURCE 0 slave r netdev_lower_get_next_private
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 global &rtnl_mutex

drivers/net/bonding/bond_alb.c __rlb_next_rx_slave() -> bond_slave_can_tx()

Type Parameter Key Value
PARAM_VALUE 0 slave 1-u64max
BUF_SIZE 0 slave 1104
BUF_SIZE 0 slave 1104
DATA_SOURCE 0 slave r netdev_lower_get_next_private_rcu
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &bond->mode_lock
LOCK2 rcu_read
HALF_LOCKED2 bh
TYPE_LOCK (struct bonding)->mode_lock

drivers/net/bonding/bond_alb.c alb_fasten_mac_swap() -> bond_slave_can_tx()

Type Parameter Key Value
PARAM_VALUE 0 slave 4096-ptr_max
PARAM_VALUE 0 slave->dev 4096-ptr_max
CAPPED_DATA 0 slave->dev 1
DATA_SOURCE 0 slave $1
RX_PATH
TASK_NOT_RUNNING

drivers/net/bonding/bond_alb.c alb_fasten_mac_swap() -> bond_slave_can_tx()

Type Parameter Key Value
PARAM_VALUE 0 slave 4096-ptr_max
PARAM_VALUE 0 slave->dev 4096-ptr_max
BUF_SIZE 0 slave s32min-(-1),1-s32max
BUF_SIZE 0 slave s32min-(-1),1-s32max
CAPPED_DATA 0 slave 1
DATA_SOURCE 0 slave $2
RX_PATH
TASK_NOT_RUNNING

drivers/net/bonding/bond_alb.c alb_fasten_mac_swap() -> bond_slave_can_tx()

Type Parameter Key Value
PARAM_VALUE 0 slave 4096-ptr_max
PARAM_VALUE 0 slave->dev 4096-ptr_max
CAPPED_DATA 0 slave->dev 1
DATA_SOURCE 0 slave $1
RX_PATH
TASK_NOT_RUNNING

drivers/net/bonding/bond_alb.c alb_fasten_mac_swap() -> bond_slave_can_tx()

Type Parameter Key Value
PARAM_VALUE 0 slave 4096-ptr_max
PARAM_VALUE 0 slave->dev 4096-ptr_max
BUF_SIZE 0 slave s32min-(-1),1-s32max
BUF_SIZE 0 slave s32min-(-1),1-s32max
CAPPED_DATA 0 slave 1
DATA_SOURCE 0 slave $2
RX_PATH
TASK_NOT_RUNNING

drivers/net/bonding/bond_alb.c bond_do_alb_xmit() -> bond_slave_can_tx()

Type Parameter Key Value
PARAM_VALUE 0 slave 1-u64max
DATA_SOURCE 0 slave $2 [m]
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &bond_dev->tx_global_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags

drivers/net/bonding/bond_alb.c tlb_get_least_loaded_slave() -> bond_slave_can_tx()

Type Parameter Key Value
PARAM_VALUE 0 slave 1-u64max
BUF_SIZE 0 slave 1104
BUF_SIZE 0 slave 1104
DATA_SOURCE 0 slave r netdev_lower_get_next_private_rcu
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &bond->mode_lock
LOCK2 rcu_read
TYPE_LOCK (struct bonding)->mode_lock