Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 6 files:

Smatch caller information:

net/dsa/dsa.c dsa_get_tag_protocol() -> dsa_user_dev_check()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &dsa2_mutex

net/dsa/dsa.c dsa_port_from_netdev() -> dsa_user_dev_check()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 global &mtk_flow_offload_mutex

net/dsa/conduit.c dsa_conduit_lag_teardown() -> dsa_user_dev_check()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
DATA_SOURCE 0 dev r netdev_upper_get_next_dev_rcu

drivers/net/ethernet/mediatek/mtk_eth_soc.c mtk_device_event() -> dsa_user_dev_check()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev r netdev_notifier_info_to_dev

net/dsa/tag.c dsa_switch_rcv() -> dsa_user_dev_check()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
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
HALF_LOCKED2 rcu_read

drivers/net/ethernet/broadcom/bcmsysport.c bcm_sysport_netdevice_event() -> dsa_user_dev_check()

Type Parameter Key Value
UNITS 0 dev unit_byte

net/dsa/user.c dsa_conduit_prechangeupper_sanity_check() -> dsa_user_dev_check()

Type Parameter Key Value
UNITS 0 dev unit_byte

net/dsa/user.c dsa_prevent_bridging_8021q_upper() -> dsa_user_dev_check()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev r vlan_dev_real_dev

net/dsa/user.c dsa_user_add_cls_matchall_mirred() -> dsa_user_dev_check()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &block->cb_lock
HALF_LOCKED2 &flowtable->flow_block_lock

net/dsa/user.c dsa_user_change_conduit() -> dsa_user_dev_check()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
DATA_SOURCE 0 dev r netdev_upper_get_next_dev_rcu
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

net/dsa/user.c dsa_user_changeupper() -> dsa_user_dev_check()

Type Parameter Key Value
DATA_SOURCE 0 dev $0

net/dsa/user.c dsa_user_lag_changeupper() -> dsa_user_dev_check()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
DATA_SOURCE 0 dev r netdev_lower_get_next

net/dsa/user.c dsa_user_lag_prechangeupper() -> dsa_user_dev_check()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
DATA_SOURCE 0 dev r netdev_lower_get_next

net/dsa/user.c dsa_user_netdevice_event() -> dsa_user_dev_check()

Type Parameter Key Value
DATA_SOURCE 0 dev r netdev_notifier_info_to_dev

net/dsa/user.c dsa_user_prechangeupper() -> dsa_user_dev_check()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev $0

net/dsa/user.c dsa_user_prechangeupper_sanity_check() -> dsa_user_dev_check()

Type Parameter Key Value
DATA_SOURCE 0 dev $0

net/switchdev/switchdev.c __switchdev_handle_port_obj_add() -> __switchdev_handle_port_obj_add param 2()

Type Parameter Key Value
DATA_SOURCE 0 dev $0

net/switchdev/switchdev.c __switchdev_handle_port_obj_add() -> __switchdev_handle_port_obj_add param 2()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev r netdev_lower_get_next

net/switchdev/switchdev.c __switchdev_handle_fdb_event_to_device() -> __switchdev_handle_fdb_event_to_device param 4()

Type Parameter Key Value
DATA_SOURCE 0 dev $0

net/switchdev/switchdev.c __switchdev_handle_fdb_event_to_device() -> __switchdev_handle_fdb_event_to_device param 4()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev r netdev_lower_get_next

net/switchdev/switchdev.c __switchdev_handle_port_obj_del() -> __switchdev_handle_port_obj_del param 2()

Type Parameter Key Value
DATA_SOURCE 0 dev $0

net/switchdev/switchdev.c __switchdev_handle_port_obj_del() -> __switchdev_handle_port_obj_del param 2()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev r netdev_lower_get_next

net/switchdev/switchdev.c __switchdev_handle_port_attr_set() -> __switchdev_handle_port_attr_set param 2()

Type Parameter Key Value
DATA_SOURCE 0 dev $0

net/switchdev/switchdev.c switchdev_lower_dev_walk() -> switchdev_lower_dev_walk ptr check_cb()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte