Defined in 2 files as a function:

Referenced in 5 files:

Smatch caller information:

net/bridge/br_input.c br_pass_frame_up() -> br_vlan_group_rcu()

Type Parameter Key Value

net/bridge/br_arp_nd_proxy.c br_arp_send() -> br_vlan_group_rcu()

Type Parameter Key Value
PARAM_VALUE 0 br 4096-ptr_max
PARAM_VALUE 0 br->dev 4096-ptr_max
PARAM_VALUE 0 br->fdb_hash_tbl.p.hashfn 4096-ptr_max
DATA_SOURCE 0 br $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/bridge/br_arp_nd_proxy.c br_nd_send() -> br_vlan_group_rcu()

Type Parameter Key Value
PARAM_VALUE 0 br 4096-ptr_max
PARAM_VALUE 0 br->fdb_hash_tbl.p.hashfn 4096-ptr_max
DATA_SOURCE 0 br $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/bridge/br_vlan.c br_vlan_dump_dev() -> br_vlan_group_rcu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/bridge/br_vlan.c br_vlan_fill_forward_path_pvid() -> br_vlan_group_rcu()

Type Parameter Key Value
PARAM_VALUE 0 br 4096-ptr_max
DATA_SOURCE 0 br $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &flow_offload_mutex
HALF_LOCKED2 global &mtk_flow_offload_mutex
HALF_LOCKED2 rcu_read

net/bridge/br_vlan.c br_vlan_get_info_rcu() -> br_vlan_group_rcu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/bridge/br_vlan.c br_vlan_get_pvid_rcu() -> br_vlan_group_rcu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/bridge/br_netlink.c br_fill_ifinfo() -> br_vlan_group_rcu()

Type Parameter Key Value
PARAM_VALUE 0 br 4096-ptr_max
PARAM_VALUE 0 br->dev 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/bridge/br_netlink.c br_get_link_af_size_filtered() -> br_vlan_group_rcu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/bridge/br_device.c br_dev_xmit() -> br_vlan_group_rcu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags