Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/bridge/br_multicast.c __br_multicast_add_group() -> br_port_group_equal()

Type Parameter Key Value
PARAM_VALUE 0 p 1-u64max
BUF_SIZE 2 src 6
BUF_SIZE 2 src 6
DATA_SOURCE 2 src $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &brmctx->br->multicast_lock
TYPE_LOCK (struct net_bridge)->multicast_lock

net/bridge/br_multicast.c br_multicast_find_port() -> br_port_group_equal()

Type Parameter Key Value
PARAM_VALUE 0 p 1-u64max
BUF_SIZE 2 src 6
BUF_SIZE 2 src 6
DATA_SOURCE 1 port $1
DATA_SOURCE 2 src $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &brmctx->br->multicast_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct net_bridge)->multicast_lock

net/bridge/br_multicast.c br_multicast_fwd_src_remove() -> br_port_group_equal()

Type Parameter Key Value
PARAM_VALUE 0 p 1-u64max
BUF_SIZE 2 src 6
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &br->multicast_lock
HALF_LOCKED2 &brmctx->br->multicast_lock
HALF_LOCKED2 &cfg->br->multicast_lock
HALF_LOCKED2 bh

net/bridge/br_multicast.c br_multicast_leave_group() -> br_port_group_equal()

Type Parameter Key Value
PARAM_VALUE 0 p 1-u64max
PARAM_VALUE 1 port 4096-ptr_max
BUF_SIZE 2 src 6
BUF_SIZE 2 src 6
CAPPED_DATA 1 port 1
DATA_SOURCE 2 src $5
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &brmctx->br->multicast_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct net_bridge)->multicast_lock

net/bridge/br_multicast.c br_multicast_leave_group() -> br_port_group_equal()

Type Parameter Key Value
PARAM_VALUE 0 p 1-u64max
PARAM_VALUE 1 port 4096-ptr_max
BUF_SIZE 2 src 6
BUF_SIZE 2 src 6
CAPPED_DATA 1 port 1
DATA_SOURCE 2 src $5
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &brmctx->br->multicast_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct net_bridge)->multicast_lock