Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

drivers/infiniband/hw/irdma/cm.c irdma_add_mqh_4() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
DATA_SOURCE 0 idev r in_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &ctx->mutex
HALF_LOCKED2 &device->client_data_rwsem
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 global &clients_rwsem
HALF_LOCKED2 global &ctrl_lock
HALF_LOCKED2 global &devices_rwsem
HALF_LOCKED2 global &ib_ctx.ib_dev_mutex
HALF_LOCKED2 global &init_lock
HALF_LOCKED2 global &lock

drivers/infiniband/hw/irdma/cm.c irdma_add_mqh_4() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
DATA_SOURCE 0 idev r in_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &ctx->mutex
HALF_LOCKED2 &device->client_data_rwsem
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 global &clients_rwsem
HALF_LOCKED2 global &ctrl_lock
HALF_LOCKED2 global &devices_rwsem
HALF_LOCKED2 global &ib_ctx.ib_dev_mutex
HALF_LOCKED2 global &init_lock
HALF_LOCKED2 global &lock

drivers/infiniband/ulp/ipoib/ipoib_main.c ipoib_is_dev_match_addr_rcu() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
CAPPED_DATA 0 idev->dev->nd_net.net 1
DATA_SOURCE 0 idev r in_dev_get
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

drivers/infiniband/hw/cxgb4/cm.c pick_local_ipaddrs() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
DATA_SOURCE 0 idev r in_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &id_priv->handler_mutex
HALF_LOCKED2 &iser_conn->state_mutex

net/ipv4/igmp.c igmp_gq_start_timer() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->dev 4096-ptr_max
PARAM_VALUE 0 idev->mr_gq_running 1
PARAM_VALUE 0 idev->mr_maxdelay 1-u32max
PARAM_VALUE 0 idev->mr_qi 1-u64max
PARAM_VALUE 0 idev->refcnt.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 idev->dev->nd_net.net 1
CAPPED_DATA 0 idev->mr_qri 1
DATA_SOURCE 0 idev $0
BIT_INFO 0 idev->mr_maxdelay 0x0,0x7fffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

net/ipv4/igmp.c igmp_gq_timer_expire() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->dev 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mr_gq_running 0
CAPPED_DATA 0 idev->dev->nd_net.net 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/ipv4/igmp.c igmp_ifc_start_timer() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->dev 4096-ptr_max
PARAM_VALUE 0 idev->refcnt.refs.counter (-1073741824),0-s32max
BUF_SIZE 0 idev->arp_parms (-1),160
BUF_SIZE 0 idev->arp_parms->tbl (-1),1136
CAPPED_DATA 0 idev->dev->nd_net.net 1
DATA_SOURCE 0 idev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/ipv4/igmp.c igmp_ifc_timer_expire() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_tomb->interface->dev->refcnt_tracker.quarantine.prev 4096-ptr_max
PARAM_VALUE 0 idev->mc_tomb->interface->dev->refcnt_tracker.quarantine.prev->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_tomb->interface->dev->refcnt_tracker.quarantine.prev->next->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_tomb->interface->dev_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_tomb->interface->dev_tracker->dead 0-1
PARAM_VALUE 0 idev->mc_tomb->interface->dev_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_tomb_lock.rlock.dep_map->name 0-255
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/ipv4/igmp.c igmpv3_clear_delrec() -> in_dev_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/ipv4/igmp.c igmpv3_del_delrec() -> in_dev_put()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &im->lock
LOCK2 bh
TYPE_LOCK (struct ip_mc_list)->lock

net/ipv4/igmp.c igmpv3_send_cr() -> in_dev_put()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &in_dev->mc_tomb_lock
LOCK2 bh
LOCK2 rcu_read
TYPE_LOCK (struct in_device)->mc_tomb_lock

net/ipv4/igmp.c ip_ma_put() -> in_dev_put()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &im->lock
HALF_LOCKED2 rcu_read

drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c qlcnic_config_indev_addr() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
DATA_SOURCE 0 idev r in_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c netxen_config_indev_addr() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
DATA_SOURCE 0 idev r in_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/bridge/br_multicast.c br_ip4_multicast_join_snoopers() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->dev 4096-ptr_max
PARAM_VALUE 0 idev->mc_list 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->interface->mr_ifc_count 0-255
PARAM_VALUE 0 idev->mc_list->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_tomb_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mr_ifc_timer.entry->pprev 4096-ptr_max
PARAM_VALUE 0 idev->mr_ifc_timer.entry.pprev 0,4096-ptr_max
DATA_SOURCE 0 idev r in_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rtnl_mutex

net/bridge/br_multicast.c br_ip4_multicast_leave_snoopers() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
DATA_SOURCE 0 idev r in_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rtnl_mutex

net/ipv4/devinet.c inet_netconf_get_devconf() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
DATA_SOURCE 0 idev r in_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex

net/ipv4/devinet.c inet_rcu_free_ifa() -> in_dev_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

net/ipv4/devinet.c inetdev_destroy() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->arp_parms 4096-ptr_max
PARAM_VALUE 0 idev->arp_parms->sysctl_table 0
PARAM_VALUE 0 idev->cnf.sysctl 0
PARAM_VALUE 0 idev->dead 1
PARAM_VALUE 0 idev->dev 4096-ptr_max
PARAM_VALUE 0 idev->dev->ip_ptr 0
PARAM_VALUE 0 idev->dev->nd_net.net 4096-ptr_max
PARAM_VALUE 0 idev->ifa_list 0
PARAM_VALUE 0 idev->ifa_list->ifa_flags 0-4294967295
PARAM_VALUE 0 idev->mc_list 0
PARAM_VALUE 0 idev->mc_list->interface->callback_head.func 1-u64max
PARAM_VALUE 0 idev->mc_list->interface->dev->addr_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_list->interface->dev->mc.tree.rb_node 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->interface->dev->nd_net.net->ipv4.fib_default->tb_data->stats->gets 0-4294967295
PARAM_VALUE 0 idev->mc_list->interface->dev->nd_net.net->ipv4.fib_main->tb_data->kv->bits 1-255
PARAM_VALUE 0 idev->mc_list->interface->dev->nd_net.net->ipv4.fib_main->tb_data->kv->pos 0-254
PARAM_VALUE 0 idev->mc_list->interface->dev->nd_net.net->ipv4.fib_main->tb_data->kv->slen 1-255
PARAM_VALUE 0 idev->mc_list->interface->dev->nd_net.net->ipv4.fib_main->tb_data->stats->gets 0-4294967295
PARAM_VALUE 0 idev->mc_list->interface->dev->nd_net.net->ipv6.rt6_stats->fib_rt_alloc.counter s32min-s32max
PARAM_VALUE 0 idev->mc_list->interface->dev->refcnt_tracker.quarantine.prev 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->interface->dev->refcnt_tracker.quarantine.prev->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->interface->dev->refcnt_tracker.quarantine.prev->next->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->interface->dev->work_node.next 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->interface->dev->work_node.next->prev 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->interface->dev->work_node.prev 4074011205511094272
PARAM_VALUE 0 idev->mc_list->interface->dev_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_list->interface->dev_tracker->dead 0-1
PARAM_VALUE 0 idev->mc_list->interface->dev_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_list->interface->mc_tomb 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->interface->mc_tomb_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_list->interface->mr_ifc_timer.entry->pprev 4096-ptr_max
PARAM_VALUE 0 idev->mc_list->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_tomb 0
PARAM_VALUE 0 idev->mc_tomb->interface->dev->refcnt_tracker.quarantine.prev 4096-ptr_max
PARAM_VALUE 0 idev->mc_tomb->interface->dev->refcnt_tracker.quarantine.prev->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_tomb->interface->dev->refcnt_tracker.quarantine.prev->next->next 4096-ptr_max
PARAM_VALUE 0 idev->mc_tomb->interface->dev_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_tomb->interface->dev_tracker->dead 0-1
PARAM_VALUE 0 idev->mc_tomb->interface->dev_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 idev->mc_tomb->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mc_tomb_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 idev->mr_gq_running 0
PARAM_VALUE 0 idev->mr_gq_timer.entry.pprev 0
PARAM_VALUE 0 idev->mr_gq_timer.flags 0-4194302
PARAM_VALUE 0 idev->mr_gq_timer.function 0
PARAM_VALUE 0 idev->mr_ifc_count 0
PARAM_VALUE 0 idev->mr_ifc_timer.entry.pprev 0
PARAM_VALUE 0 idev->mr_ifc_timer.flags 0-4194302
PARAM_VALUE 0 idev->mr_ifc_timer.function 0
PARAM_VALUE 0 *idev->mc_list->interface->dev->name 0-255
CAPPED_DATA 0 idev->arp_parms 1
CAPPED_DATA 0 idev->dev->nd_net.net 1
DATA_SOURCE 0 idev $0
NOCHECK_CALL

net/ipv4/devinet.c inetdev_init() -> in_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->arp_parms 4096-ptr_max
PARAM_VALUE 0 idev->arp_parms->dev 4096-ptr_max
PARAM_VALUE 0 idev->arp_parms->dev->netdev_ops 4096-ptr_max
PARAM_VALUE 0 idev->arp_parms->dev->refcnt_tracker.list.next 4096-ptr_max
PARAM_VALUE 0 idev->arp_parms->dev_tracker 0,4096-ptr_max
PARAM_VALUE 0 idev->arp_parms->list.next 4096-ptr_max
PARAM_VALUE 0 idev->arp_parms->list.prev 272374513716818032,4470746977272516720
PARAM_VALUE 0 idev->arp_parms->qlen 0
PARAM_VALUE 0 idev->arp_parms->refcnt.refs.counter 1
PARAM_VALUE 0 idev->arp_parms->sysctl_table 0
PARAM_VALUE 0 idev->arp_parms->tbl 272374513716817920
PARAM_VALUE 0 idev->cnf.sysctl 0
PARAM_VALUE 0 idev->dead 1
PARAM_VALUE 0 idev->dev 4096-ptr_max
PARAM_VALUE 0 idev->dev_tracker 0,4096-ptr_max
PARAM_VALUE 0 idev->refcnt.refs.counter 1
BUF_SIZE 0 idev 536
BUF_SIZE 0 idev->arp_parms 160
BUF_SIZE 0 idev->arp_parms->tbl 1136
CAPPED_DATA 0 idev->arp_parms 1
DATA_SOURCE 0 idev r _kzalloc_noprof
NOCHECK_CALL
HALF_LOCKED2 global &rtnl_mutex