Defined in 2 files as a prototype:

Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

net/ipv4/igmp.c ip_mc_add_src() -> sf_setstate()

Type Parameter Key Value
PARAM_VALUE 0 pmc 4096-ptr_max
PARAM_VALUE 0 pmc->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 pmc->sfcount 4096-ptr_max
PARAM_VALUE 0 pmc->sources 0,4096-ptr_max
CAPPED_DATA 0 pmc->multiaddr 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 pmc->sources->sf_inaddr 0-u32max
LOCK2 bh
LOCK2 0 &pmc->lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct ip_mc_list)->lock

net/ipv4/igmp.c ip_mc_del_src() -> sf_setstate()

Type Parameter Key Value
PARAM_VALUE 0 pmc 4096-ptr_max
PARAM_VALUE 0 pmc->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 pmc->multiaddr 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 0 &pmc->lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct ip_mc_list)->lock

net/ipv6/mcast.c ip6_mc_add_src() -> sf_setstate()

Type Parameter Key Value
PARAM_VALUE 0 pmc 4096-ptr_max
PARAM_VALUE 0 pmc->mca_sfcount 4096-ptr_max
PARAM_VALUE 0 pmc->mca_sources 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &idev->mc_lock
TYPE_LOCK (struct inet6_dev)->mc_lock

net/ipv6/mcast.c ip6_mc_del_src() -> sf_setstate()

Type Parameter Key Value
PARAM_VALUE 0 pmc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &idev->mc_lock
HALF_LOCKED2 sk