Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/ipv6/addrconf.c addrconf_del_rs_timer() -> __in6_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->lock.dep_map->name 0-255
PARAM_VALUE 0 idev->lock.owner_cpu 0
PARAM_VALUE 0 idev->lock.raw_lock.cnts.counter 0-s32max
PARAM_VALUE 0 idev->rs_timer.entry.pprev 0
PARAM_VALUE 0 idev->rs_timer.flags 0-4194302
PARAM_VALUE 0 idev->rs_timer.function 0
CAPPED_DATA 0 idev 1
DATA_SOURCE 0 idev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &idev->lock
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &init_net.rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct inet6_dev)->lock

net/ipv6/mcast.c mld_dad_stop_work() -> __in6_dev_put()

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_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->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_work.work.lockdep_map->name 0-255
PARAM_VALUE 0 idev->rs_timer.entry.pprev 0
PARAM_VALUE 0 idev->rs_timer.flags 0-4194302
PARAM_VALUE 0 idev->stats.proc_dir_entry 0,4806605944481423360
BUF_SIZE 0 idev->nd_parms (-1),160
BUF_SIZE 0 idev->nd_parms->tbl (-1),1136
CAPPED_DATA 0 idev 1
DATA_SOURCE 0 idev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rtnl_mutex

net/ipv6/mcast.c mld_gq_stop_work() -> __in6_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->mc_gq_running 0
BUF_SIZE 0 idev->nd_parms (-1),160
BUF_SIZE 0 idev->nd_parms->tbl (-1),1136
CAPPED_DATA 0 idev 1
DATA_SOURCE 0 idev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &idev->mc_lock
HALF_LOCKED2 0 &idev->mc_lock
TYPE_LOCK (struct inet6_dev)->mc_lock

net/ipv6/mcast.c mld_ifc_stop_work() -> __in6_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->mc_ifc_count 0
BUF_SIZE 0 idev->nd_parms (-1),160
BUF_SIZE 0 idev->nd_parms->tbl (-1),1136
CAPPED_DATA 0 idev 1
DATA_SOURCE 0 idev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &idev->mc_lock
HALF_LOCKED2 0 &idev->mc_lock
TYPE_LOCK (struct inet6_dev)->mc_lock

net/ipv6/mcast.c mld_query_stop_work() -> __in6_dev_put()

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_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->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->rs_timer.entry.pprev 0
PARAM_VALUE 0 idev->rs_timer.flags 0-4194302
PARAM_VALUE 0 idev->stats.proc_dir_entry 0,4806605944481423360
BUF_SIZE 0 idev->nd_parms (-1),160
BUF_SIZE 0 idev->nd_parms->tbl (-1),1136
CAPPED_DATA 0 idev 1
DATA_SOURCE 0 idev $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &idev->mc_query_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct inet6_dev)->mc_query_lock

net/ipv6/mcast.c mld_report_stop_work() -> __in6_dev_put()

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_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->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_work.work.lockdep_map->name 0-255
PARAM_VALUE 0 idev->rs_timer.entry.pprev 0
PARAM_VALUE 0 idev->rs_timer.flags 0-4194302
PARAM_VALUE 0 idev->stats.proc_dir_entry 0,4806605944481423360
BUF_SIZE 0 idev->nd_parms (-1),160
BUF_SIZE 0 idev->nd_parms->tbl (-1),1136
CAPPED_DATA 0 idev 1
DATA_SOURCE 0 idev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rtnl_mutex

net/ipv6/xfrm6_policy.c xfrm6_dst_ifdown() -> __in6_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
DATA_SOURCE 0 idev r in6_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 global &fnhe_lock
HALF_LOCKED2 global &rt6_exception_lock
HALF_LOCKED2 rcu_read