Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

drivers/base/devres.c devres_release_all() -> remove_nodes()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->devres_head.next 1-u64max
PARAM_VALUE 0 dev->kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 1 first 1-u64max
PARAM_VALUE 2 end 4096-ptr_max
PARAM_VALUE 2 end->next 1-u64max
PARAM_VALUE 3 todo 3484937551059939328
PARAM_VALUE 3 todo->next 3484937551059939328
PARAM_VALUE 3 todo->prev 3484937551059939328
BUF_SIZE 0 dev (-1)-0,4,16,24,56,64,120,168-s32max
BUF_SIZE 0 dev (-1)-0,4,16,24,56,64,120,168-s32max
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 &dev->devres_head 1
DATA_SOURCE 0 dev $0
PARAM_COMPARE 0 &dev->devres_head != $0->devres_head.next
PARAM_COMPARE 1 first != $2
PARAM_COMPARE 2 end != $0->devres_head.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
LOCK2 flags
LOCK2 0 &dev->devres_lock
HALF_LOCKED2 0 &dev->mutex
TYPE_LOCK (struct device)->devres_lock

drivers/base/devres.c devres_release_group() -> remove_nodes()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 3 todo 2637735086846681088
PARAM_VALUE 3 todo->next 2637735086846681088
PARAM_VALUE 3 todo->prev 2637735086846681088
BUF_SIZE 0 dev (-1),1616
BUF_SIZE 0 dev (-1),1616
BUF_SIZE 1 first 16
BUF_SIZE 2 end (-1),16
BUF_SIZE 2 end (-1),16
DATA_SOURCE 0 dev $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
LOCK2 flags
LOCK2 0 &dev->devres_lock
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &hdev->driver_input_lock
HALF_LOCKED2 &info->protocols_mtx
HALF_LOCKED2 &port->dev.mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &component_mutex
TYPE_LOCK (struct device)->devres_lock