Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 3 files:

Smatch caller information:

net/core/net_namespace.c ops_exit_rtnl_list() -> __rtnl_net_unlock()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->dev_unreg_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->task->blocked_on 0
CAPPED_DATA 0 net 1
CAPPED_DATA 0 &net->exit_list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 net unit_byte
LOCK2 global &pernet_ops_rwsem
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/core/dev.c default_device_exit_batch() -> __rtnl_net_unlock()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
CAPPED_DATA 0 &net->exit_list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &init_net.rtnl_mutex
LOCK2 global &pernet_ops_rwsem
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/core/dev.c default_device_exit_batch() -> __rtnl_net_unlock()

Type Parameter Key Value
PARAM_VALUE 0 net 1824583183996030976
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &init_net.rtnl_mutex
LOCK2 global &pernet_ops_rwsem
LOCK2 global &rtnl_mutex

net/core/dev.c default_device_exit_batch() -> __rtnl_net_unlock()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->dev_unreg_head.prev 4096-ptr_max
PARAM_VALUE 0 net->dev_unreg_head.prev->next 4096-ptr_max
PARAM_VALUE 0 net->dev_unreg_head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 net->dev_unreg_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
CAPPED_DATA 0 net 1
CAPPED_DATA 0 &net->dev_base_head 1
CAPPED_DATA 0 &net->exit_list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &pernet_ops_rwsem
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/core/dev.c netdev_wait_allrefs_any() -> __rtnl_net_unlock()

Type Parameter Key Value
PARAM_VALUE 0 net->rtnl_mutex.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
NOCHECK_CALL
UNITS 0 net unit_byte
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/core/dev.c register_netdevice_notifier() -> __rtnl_net_unlock()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
CAPPED_DATA 0 &net->list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &pernet_ops_rwsem
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &die_info->die_mutex
HALF_LOCKED2 &led_cdev->trigger_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &ctrl_lock
HALF_LOCKED2 global &fcoe_config_mutex
HALF_LOCKED2 global &init_lock
HALF_LOCKED2 global &masq_mutex
HALF_LOCKED2 global &psp_notifier_lock
TYPE_LOCK (struct net)->rtnl_mutex

net/core/dev.c register_netdevice_notifier() -> __rtnl_net_unlock()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->dev_unreg_head.next->next 4096-ptr_max
PARAM_VALUE 0 net->dev_unreg_head.prev->next 4096-ptr_max
PARAM_VALUE 0 net->dev_unreg_head.prev->prev 4096-ptr_max
PARAM_VALUE 0 net->dev_unreg_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
CAPPED_DATA 0 &net->list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &pernet_ops_rwsem
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &die_info->die_mutex
HALF_LOCKED2 &led_cdev->trigger_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &ctrl_lock
HALF_LOCKED2 global &fcoe_config_mutex
HALF_LOCKED2 global &init_lock
HALF_LOCKED2 global &masq_mutex
HALF_LOCKED2 global &psp_notifier_lock
TYPE_LOCK (struct net)->rtnl_mutex

net/core/dev.c unregister_netdevice_notifier() -> __rtnl_net_unlock()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
CAPPED_DATA 0 &net->list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &pernet_ops_rwsem
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &die_info->die_mutex
HALF_LOCKED2 &led_cdev->trigger_lock
HALF_LOCKED2 global &fcoe_config_mutex
HALF_LOCKED2 global &init_lock
HALF_LOCKED2 global &masq_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/core/rtnetlink.c rtnl_link_unregister() -> __rtnl_net_unlock()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->dev_unreg_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
CAPPED_DATA 0 net 1
CAPPED_DATA 0 &net->list 1
NOCHECK_CALL
UNITS 0 net unit_byte
LOCK2 global &pernet_ops_rwsem
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/core/rtnetlink.c rtnl_net_unlock() -> __rtnl_net_unlock()

Type Parameter Key Value
BUF_SIZE 0 net (-1)-s32max
BUF_SIZE 0 net (-1)-s32max
BUF_SIZE 0 net->key_domain (-1),24
BUF_SIZE 0 net->ucounts (-1),184
DATA_SOURCE 0 net $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 net unit_byte
HALF_LOCKED2 &dev->nd_net.net->rtnl_mutex
HALF_LOCKED2 global &init_net.rtnl_mutex
HALF_LOCKED2 global &pernet_ops_rwsem
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 0 &net->rtnl_mutex

net/core/rtnetlink.c rtnl_nets_unlock() -> __rtnl_net_unlock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
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 &rx_queue_mutex