Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/bridge/br_multicast.c br_multicast_local_router_expired() -> br_mc_router_state_change()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->multicast_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 is_mc_router 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &p->multicast_lock
TYPE_LOCK (struct net_bridge)->multicast_lock

net/bridge/br_multicast.c br_multicast_mark_router() -> br_mc_router_state_change()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->dev 4096-ptr_max
PARAM_VALUE 0 p->multicast_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 is_mc_router 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &p->multicast_lock
HALF_LOCKED2 bh
TYPE_LOCK (struct net_bridge)->multicast_lock

net/bridge/br_multicast.c br_multicast_set_router() -> br_mc_router_state_change()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->multicast_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 is_mc_router 0[c]
LOCK2 bh
LOCK2 0 &p->multicast_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct net_bridge)->multicast_lock

net/bridge/br_multicast.c br_multicast_set_router() -> br_mc_router_state_change()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->multicast_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 is_mc_router 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &p->multicast_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct net_bridge)->multicast_lock