Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

net/ipv6/addrconf.c addrconf_leave_solict() -> __ipv6_dev_mc_dec()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 1 addr 2669363268973395968
BUF_SIZE 0 idev (-1),2056
BUF_SIZE 0 idev (-1),2056
DATA_SOURCE 0 idev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/ipv6/mcast.c __ipv6_sock_mc_drop() -> __ipv6_dev_mc_dec()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->mc_lock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 idev->mc_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 idev->mc_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 idev->refcnt.refs.counter (-1073741824),0-s32max
PARAM_VALUE 1 addr 4096-ptr_max
DATA_SOURCE 0 idev r in6_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 sk

net/ipv6/mcast.c ipv6_dev_mc_dec() -> __ipv6_dev_mc_dec()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->refcnt.refs.counter (-1073741824),0-s32max
PARAM_VALUE 1 addr 691153362296074240,723064523762663424,2144856176402436096,4156509514105393152,6675404653372985344
DATA_SOURCE 0 idev r in6_dev_get
DATA_SOURCE 1 addr $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex

net/ipv6/mcast.c ipv6_mc_destroy_dev() -> __ipv6_dev_mc_dec()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->lock.owner (-1)
PARAM_VALUE 0 idev->lock.owner_cpu u32max
PARAM_VALUE 0 idev->mc_gq_running 0
PARAM_VALUE 0 idev->mc_ifc_count 0
PARAM_VALUE 0 idev->mc_list 0,4096-ptr_max
PARAM_VALUE 0 idev->mc_list->idev->dev->addr_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_list->idev->dev->ip6_ptr->lock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_list->idev->dev->mc.tree.rb_node 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->idev->dev->refcnt_tracker.quarantine.prev 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->idev->dev->refcnt_tracker.quarantine.prev->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->idev->dev->refcnt_tracker.quarantine.prev->next->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->idev->dev_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_list->idev->dev_tracker->dead 0-1
PARAM_VALUE 0 idev->mc_list->idev->dev_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_list->idev->mc_ifc_work->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->idev->mc_ifc_work.work.entry.next->next 1-u64max
PARAM_VALUE 0 idev->mc_list->idev->mc_ifc_work.work.entry.prev->next 1-u64max
PARAM_VALUE 0 idev->mc_list->idev->mc_ifc_work.work.entry.prev->prev 1-u64max
PARAM_VALUE 0 idev->mc_list->idev->mc_tomb 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->mca_work.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 idev->mc_lock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 idev->mc_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 idev->mc_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 idev->mc_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 idev->mc_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_query_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_report_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_report_work.work.lockdep_map->name 0-255
PARAM_VALUE 0 idev->mc_tomb 0
PARAM_VALUE 0 idev->mc_tomb->idev->dev->refcnt_tracker.quarantine.prev 4096-ptr_max
PARAM_VALUE 0 idev->mc_tomb->idev->dev->refcnt_tracker.quarantine.prev->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_tomb->idev->dev->refcnt_tracker.quarantine.prev->next->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_tomb->idev->dev_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_tomb->idev->dev_tracker->dead 0-1
PARAM_VALUE 0 idev->mc_tomb->idev->dev_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_tomb->idev->rcu.func 1-u64max
PARAM_VALUE 0 idev->rs_timer.entry.pprev 0
PARAM_VALUE 0 idev->rs_timer.flags 0-4194302
PARAM_VALUE 0 *idev->dev->name 0-255
PARAM_VALUE 0 *idev->mc_list->idev->dev->name 0-255
PARAM_VALUE 1 addr 4580484477245407232
BUF_SIZE 0 idev (-1),2056
BUF_SIZE 0 idev (-1),2056
BUF_SIZE 0 idev->nd_parms (-1),160
BUF_SIZE 0 idev->nd_parms->tbl (-1),1136
CAPPED_DATA 0 idev 1
CAPPED_DATA 0 idev->mc_list 1
CAPPED_DATA 0 &idev->mc_lock 1
DATA_SOURCE 0 idev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &init_net.rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex

net/ipv6/mcast.c ipv6_mc_destroy_dev() -> __ipv6_dev_mc_dec()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->cnf.forwarding s32min-(-1),1-s32max
PARAM_VALUE 0 idev->lock.owner (-1)
PARAM_VALUE 0 idev->lock.owner_cpu u32max
PARAM_VALUE 0 idev->mc_gq_running 0
PARAM_VALUE 0 idev->mc_ifc_count 0
PARAM_VALUE 0 idev->mc_list->idev->dev->addr_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_list->idev->dev->ip6_ptr->lock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_list->idev->dev->mc.tree.rb_node 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->idev->dev->refcnt_tracker.quarantine.prev 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->idev->dev->refcnt_tracker.quarantine.prev->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->idev->dev->refcnt_tracker.quarantine.prev->next->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->idev->dev_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_list->idev->dev_tracker->dead 0-1
PARAM_VALUE 0 idev->mc_list->idev->dev_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_list->idev->mc_ifc_work->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->idev->mc_ifc_work.work.entry.next->next 1-u64max
PARAM_VALUE 0 idev->mc_list->idev->mc_ifc_work.work.entry.prev->next 1-u64max
PARAM_VALUE 0 idev->mc_list->idev->mc_ifc_work.work.entry.prev->prev 1-u64max
PARAM_VALUE 0 idev->mc_list->idev->mc_tomb 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->mca_work.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 idev->mc_lock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 idev->mc_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 idev->mc_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 idev->mc_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 idev->mc_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 idev->mc_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_query_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_report_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_report_work.work.lockdep_map->name 0-255
PARAM_VALUE 0 idev->mc_tomb 0
PARAM_VALUE 0 idev->mc_tomb->idev->dev->refcnt_tracker.quarantine.prev 4096-ptr_max
PARAM_VALUE 0 idev->mc_tomb->idev->dev->refcnt_tracker.quarantine.prev->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_tomb->idev->dev->refcnt_tracker.quarantine.prev->next->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_tomb->idev->dev_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_tomb->idev->dev_tracker->dead 0-1
PARAM_VALUE 0 idev->mc_tomb->idev->dev_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_tomb->idev->rcu.func 1-u64max
PARAM_VALUE 0 idev->rs_timer.entry.pprev 0
PARAM_VALUE 0 idev->rs_timer.flags 0-4194302
PARAM_VALUE 0 *idev->dev->name 0-255
PARAM_VALUE 0 *idev->mc_list->idev->dev->name 0-255
PARAM_VALUE 1 addr 4156509514105393152
BUF_SIZE 0 idev (-1),2056
BUF_SIZE 0 idev (-1),2056
BUF_SIZE 0 idev->nd_parms (-1),160
BUF_SIZE 0 idev->nd_parms->tbl (-1),1136
CAPPED_DATA 0 idev 1
CAPPED_DATA 0 &idev->mc_lock 1
DATA_SOURCE 0 idev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &init_net.rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex