Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 12 files:

Smatch caller information:

drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c dpaa2_switch_prevent_bridging_with_8021q_upper() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->netdev_ops 4096-ptr_max
PARAM_VALUE 1 fn 3846364836948119552
PARAM_VALUE 2 priv 8896032682054332416
PARAM_VALUE 2 priv->data 0
PARAM_VALUE 2 priv->flags 0
DATA_SOURCE 0 dev $0

drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c mlxsw_sp_bridge_device_rifs_destroy() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 fn 9102031766753730560
PARAM_VALUE 2 priv 4485095446289059840
PARAM_VALUE 2 priv->data 4096-ptr_max
PARAM_VALUE 2 priv->flags 0
DATA_SOURCE 0 dev $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte

net/bridge/br_arp_nd_proxy.c br_is_local_ip() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->ip_ptr 0,4096-ptr_max
PARAM_VALUE 1 fn 4621083521496760320
PARAM_VALUE 2 priv 756154060651089920
PARAM_VALUE 2 priv->data 4096-ptr_max
PARAM_VALUE 2 priv->flags 0
CAPPED_DATA 0 dev->ip_ptr 1
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/bridge/br_arp_nd_proxy.c br_is_local_ip6() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 fn 7185215005418577920
PARAM_VALUE 2 priv 1563365326228066304
PARAM_VALUE 2 priv->data 4096-ptr_max
PARAM_VALUE 2 priv->flags 0
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->nd_net.net 1
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/infiniband/core/roce_gid_mgmt.c handle_netdev_upper() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 1 fn 5455383888313094144
PARAM_VALUE 2 priv 1210574704733970432
PARAM_VALUE 2 priv->data 6657212898619346944
DATA_SOURCE 0 dev $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &devices_rwsem

drivers/infiniband/ulp/ipoib/ipoib_main.c ipoib_get_net_dev_match_addr() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 fn 2923519165302636544
PARAM_VALUE 2 priv 6973794849992151040
PARAM_VALUE 2 priv->data 93401424925995008
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->nd_net.net 1
DATA_SOURCE 0 dev $1
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &dev->client_data_rwsem
HALF_LOCKED2 &priv->dev->lock

net/bridge/br_vlan.c br_vlan_get_upper_bind_vlan_dev() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 1 fn 866569695616749568
PARAM_VALUE 2 priv 7423157186442809344
PARAM_VALUE 2 priv->data 3133643105540349952
PARAM_VALUE 2 priv->flags 0
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
LOCK2 rcu_read

net/bridge/br_vlan.c br_vlan_has_upper_bind_vlan_dev() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->priv_flags 2-u32max
PARAM_VALUE 1 fn 2352811934667177984
PARAM_VALUE 2 priv 0
DATA_SOURCE 0 dev $0
LOCK2 rcu_read

net/bridge/br_vlan.c br_vlan_link_state_change() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->priv_flags 2-u32max
PARAM_VALUE 1 fn 373512880681021440
PARAM_VALUE 2 priv 6427245078913363968
PARAM_VALUE 2 priv->data 8844065161837023232
PARAM_VALUE 2 priv->flags 0
DATA_SOURCE 0 dev $0
NOCHECK_CALL
LOCK2 rcu_read

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c handle_redirect_action() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 fn 6650785539258941440
PARAM_VALUE 2 priv 823408669603930112
PARAM_VALUE 2 priv->data 1230798891189182464
RX_PATH
TASK_NOT_RUNNING
LOCK2 &block->cb_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct tcf_block)->cb_lock

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c ixgbe_configure_dfwd() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->gso_max_size 0-4294967294
PARAM_VALUE 0 dev->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,33-34,50
PARAM_VALUE 0 dev->tso_max_size 0-524280
PARAM_VALUE 0 dev->uc.tree.rb_node 4096-ptr_max
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 1 fn 2265508987402391552
PARAM_VALUE 2 priv 3341193133524836352
PARAM_VALUE 2 priv->data 4096-ptr_max
PARAM_VALUE 2 priv->flags 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c ixgbe_defrag_macvlan_pools() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->dcbnl_ops->ieee_setets 0,4096-ptr_max
PARAM_VALUE 0 dev->dcbnl_ops->setdcbx 0,4096-ptr_max
PARAM_VALUE 0 dev->dcbnl_ops->setstate 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.dma_io_tlb_mem->phys_limit 0-s64max
PARAM_VALUE 0 dev->dev.kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 dev->netdev_ops->ndo_bpf 0,4096-ptr_max
PARAM_VALUE 0 dev->netdev_ops->ndo_set_config 0,1586268954384080896,2133952100825280512,4430316855586635776
PARAM_VALUE 0 dev->netdev_ops->ndo_setup_tc 0,4096-ptr_max
PARAM_VALUE 0 dev->netdev_ops->ndo_uninit 0,4096-ptr_max
PARAM_VALUE 0 dev->netdev_ops->ndo_xdp_xmit 0,4096-ptr_max
PARAM_VALUE 0 dev->queues_kset->kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->queues_kset->uevent_ops->filter 0,373046650179297280,860499173621964800,1717398205889331200
PARAM_VALUE 0 dev->queues_kset->uevent_ops->name 0,6398784740152971264
PARAM_VALUE 0 dev->queues_kset->uevent_ops->uevent 0,2247312485184778240,3182165088870064128,8288671758023974912,8922156833707364352
PARAM_VALUE 0 dev->rtnl_link_ops->alloc 0,1182153660833808384,3130032447137456128
PARAM_VALUE 0 dev->rtnl_link_ops->fill_linkxstats 0,4272586027813351424,9126321368221925376
PARAM_VALUE 0 dev->rtnl_link_ops->fill_slave_info 0,1894154286989025280,5991230149655609344,6073386259643797504
PARAM_VALUE 0 dev->rtnl_link_ops->fill_xstats 0,1425953645884952576
PARAM_VALUE 0 dev->rtnl_link_ops->get_linkxstats_size 0,3421625616180215808,6493426455745695744
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->get_slave_size 0,115873957314805760,721207661812510720,8225189908379033600
PARAM_VALUE 0 dev->rtnl_link_ops->get_xstats_size 0,805714376334290944
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
PARAM_VALUE 0 dev->rtnl_link_ops->slave_changelink 0,284250261890269184,1858234600890146816
PARAM_VALUE 0 dev->rtnl_link_ops->slave_maxtype 0,12,45
PARAM_VALUE 0 dev->rtnl_link_ops->slave_policy 0,3093805375383687168,4992708822405533696
PARAM_VALUE 0 dev->tc_to_txq->count 0-u16max
PARAM_VALUE 0 dev->tc_to_txq->offset 0-u16max
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 0 *dev->prio_tc_map 0-255
PARAM_VALUE 1 fn 2792153750851665920
PARAM_VALUE 2 priv 3022958345139806208
PARAM_VALUE 2 priv->data 4096-ptr_max
PARAM_VALUE 2 priv->flags 0
BUF_SIZE 0 dev->nd_net.net (-1),10304
DATA_SOURCE 0 dev $0
NOSPEC 0 dev->ifindex
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 dev->flags 2048-524799[c]
USER_DATA 0 dev->ifindex 0-s32max[c]
USER_DATA 0 dev->num_tc 2-16[c]
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_napi_configs
NO_OVERFLOW_SIMPLE 0 dev->num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
HALF_LOCKED2 &dev->dev.mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &pci_rescan_remove_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 0 &dev->lock

drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_macvlan_replay() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 1 fn 8006056398714679296
PARAM_VALUE 2 priv 6785025176269897728
PARAM_VALUE 2 priv->data 8772299470726815744
PARAM_VALUE 2 priv->flags 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mlxsw_sp->router->lock

drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_netdevice_enslavement_replay() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->ip_ptr 0,4096-ptr_max
PARAM_VALUE 0 dev->priv_flags 2-u32max
PARAM_VALUE 1 fn 374471974734815232
PARAM_VALUE 2 priv 6162555381391675392
PARAM_VALUE 2 priv->data 8608541406336352256
PARAM_VALUE 2 priv->flags 0
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->ip_ptr 1
DATA_SOURCE 0 dev $1
UNITS 0 dev unit_byte

drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_netdevice_enslavement_replay() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->ip_ptr 0,4096-ptr_max
PARAM_VALUE 0 dev->priv_flags 2-u32max
PARAM_VALUE 1 fn 7752948686522273792
PARAM_VALUE 2 priv 6162555381391675392
PARAM_VALUE 2 priv->data 8608541406336352256
PARAM_VALUE 2 priv->flags 0
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->ip_ptr 1
DATA_SOURCE 0 dev $1
NOCHECK_CALL
UNITS 0 dev unit_byte

drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_rif_macvlan_flush() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->priv_flags 256-u32max
PARAM_VALUE 1 fn 5929762126420729856
PARAM_VALUE 2 priv 6151622833390526464
PARAM_VALUE 2 priv->data 4096-ptr_max
PARAM_VALUE 2 priv->flags 0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 &mlxsw_sp->router->lock

drivers/net/bonding/bond_main.c bond_has_this_ip() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->ip_ptr 0,4096-ptr_max
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 1 fn 4309852028791656448
PARAM_VALUE 2 priv 9059929250345156608
PARAM_VALUE 2 priv->flags 0
CAPPED_DATA 0 dev->addr_len 1
CAPPED_DATA 0 dev->ip_ptr 1
UNITS 0 dev unit_byte
LOCK2 rcu_read

drivers/net/bonding/bond_main.c bond_has_this_ip6() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 *dev->name 0-255
PARAM_VALUE 1 fn 6386017577564393472
PARAM_VALUE 2 priv 206680574742114304
PARAM_VALUE 2 priv->data 4096-ptr_max
PARAM_VALUE 2 priv->flags 0
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->nd_net.net 1
UNITS 0 dev unit_byte
LOCK2 rcu_read

drivers/net/ethernet/marvell/prestera/prestera_switchdev.c prestera_get_upper_bridge_dev() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 1 fn 6284159695859216384
PARAM_VALUE 2 priv 5099163992316936192
PARAM_VALUE 2 priv->data 0
PARAM_VALUE 2 priv->flags 0
DATA_SOURCE 0 dev $0
NOCHECK_CALL
UNITS 0 dev unit_byte
HALF_LOCKED2 global &rtnl_mutex

drivers/net/bonding/bond_alb.c alb_send_learning_packets() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 1 fn 8212516939423436800
PARAM_VALUE 2 priv 1431462522447290368
PARAM_VALUE 2 priv->data 4138339119386558464
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
LOCK2 rcu_read

net/core/dev.c netdev_has_upper_dev() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->ip6_ptr->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,3544,3552,3720,9688-u64max
PARAM_VALUE 0 dev->netdev_ops->ndo_set_config 0,1586268954384080896,2133952100825280512,4430316855586635776
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
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,3544,3552,3720,9688-u64max
PARAM_VALUE 0 dev->rtnl_link_ops->setup 0,4096-ptr_max
PARAM_VALUE 0 dev->rtnl_link_ops->validate 0,4096-ptr_max
PARAM_VALUE 1 fn 4172271684298358784
PARAM_VALUE 2 priv 3455157965265428480
PARAM_VALUE 2 priv->data 4096-ptr_max
PARAM_VALUE 2 priv->flags 0
DATA_SOURCE 0 dev $0
NOSPEC 0 dev->ifindex
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dev->ifindex 0-s32max[c]
NO_OVERFLOW_SIMPLE 0 dev->group
UNITS 0 dev unit_byte
HALF_LOCKED2 global &rtnl_mutex

net/core/dev.c netdev_has_upper_dev_all_rcu() -> netdev_walk_all_upper_dev_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 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 1 fn 4172271684298358784
PARAM_VALUE 2 priv 5432930900287258624
PARAM_VALUE 2 priv->flags 0
CAPPED_DATA 0 dev 1
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
LOCK2 rcu_read