Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 15 files:

Smatch caller information:

drivers/thunderbolt/switch.c disapprove_switch() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 0 parent 4096-ptr_max
PARAM_VALUE 1 data 0
PARAM_VALUE 2 fn 6709149456858411008
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &sw->tb->lock

drivers/mfd/mfd-core.c mfd_remove_devices() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 0 parent->dma_io_tlb_mem->phys_limit 0-s64max
PARAM_VALUE 0 parent->pins->p 0-s64max
PARAM_VALUE 0 parent->power.wakeirq->status 0-4294967295
PARAM_VALUE 1 data 6251009892695764992
PARAM_VALUE 1 *data 0
PARAM_VALUE 2 fn 5364290299824390144
BUF_SIZE 0 parent (-1)-0,24-s32max
BUF_SIZE 0 parent (-1)-0,24-s32max
BUF_SIZE 0 parent->driver (-1),152
BUF_SIZE 0 parent->driver_data (-1),208
BUF_SIZE 0 parent->iommu (-1),192
BUF_SIZE 1 data 4
DATA_SOURCE 0 parent $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 parent->flags 4096-u32max
NO_OVERFLOW_SIMPLE 0 parent->physical_location
NO_OVERFLOW_SIMPLE 0 parent->reg_map.max_size
UNITS 0 parent unit_byte
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &hdev->driver_input_lock
HALF_LOCKED2 0 &parent->mutex

drivers/mfd/mfd-core.c mfd_remove_devices_late() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 0 parent 4096-ptr_max
PARAM_VALUE 0 parent->bus 0,4096-ptr_max
PARAM_VALUE 0 parent->class 0,4096-ptr_max
PARAM_VALUE 0 parent->power.disable_depth 1-7
PARAM_VALUE 0 parent->power.last_status s32min-0,2,4-s32max
PARAM_VALUE 0 parent->power.request_pending 0
PARAM_VALUE 0 parent->power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 parent->power.runtime_status 0,2
PARAM_VALUE 0 parent->power.timer_expires 0
PARAM_VALUE 0 parent->power.usage_count.counter 0-s32max
PARAM_VALUE 0 parent->power.wakeirq 0,4096-ptr_max
PARAM_VALUE 0 parent->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 parent->type 0,4096-ptr_max
PARAM_VALUE 1 data 2975031710261972992
PARAM_VALUE 1 *data 1
PARAM_VALUE 2 fn 5364290299824390144
BUF_SIZE 1 data 4
DATA_SOURCE 0 parent $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex

drivers/platform/surface/aggregator/bus.c ssam_remove_clients() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 1 data 0
PARAM_VALUE 2 fn 5710115672442261504
DATA_SOURCE 0 parent $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 &ctrl->lock
HALF_LOCKED2 &dev->mutex

drivers/thunderbolt/retimer.c tb_retimer_remove_all() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 0 parent 1-u64max
PARAM_VALUE 1 data 4096-ptr_max
PARAM_VALUE 2 fn 5451474856656879616
DATA_SOURCE 1 data $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/xdomain.c enumerate_services() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 0 parent 4096-ptr_max
PARAM_VALUE 0 parent->parent 4096-ptr_max
PARAM_VALUE 1 data 4096-ptr_max
PARAM_VALUE 2 fn 7289833325919260672
DATA_SOURCE 1 data $0
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/thunderbolt/xdomain.c tb_xdomain_unregister() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 0 parent 4096-ptr_max
PARAM_VALUE 1 data 4096-ptr_max
PARAM_VALUE 2 fn 1581132966781399040
DATA_SOURCE 1 data $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &add_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 &skt->skt_mutex
HALF_LOCKED2 &tb->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &core_lock
HALF_LOCKED2 global &pi_mutex
HALF_LOCKED2 global &pwrseq_sem
HALF_LOCKED2 global &registration_lock
HALF_LOCKED2 global &vdpa_dev_lock
HALF_LOCKED2 global &xenwatch_mutex

drivers/platform/surface/surface_aggregator_hub.c ssam_hub_update() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 1 data 0
PARAM_VALUE 2 fn 3217618942089158656
NOCHECK_CALL
LOCK2 &nh->srcu
LOCK2 &pool->lock
TYPE_LOCK (struct ssam_nf_head)->srcu

drivers/mfd/intel-lpss.c intel_lpss_prepare() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 0 parent 4096-ptr_max
PARAM_VALUE 0 parent->bus->pm 0,4096-ptr_max
PARAM_VALUE 0 parent->class->pm 0,4096-ptr_max
PARAM_VALUE 1 data 0
PARAM_VALUE 2 fn 3880262499286962176
DATA_SOURCE 0 parent $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 0 &parent->mutex

drivers/peci/core.c unregister_controller() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 1 data 0
PARAM_VALUE 2 fn 8101238056242618368
NOCHECK_CALL

drivers/platform/wmi/core.c acpi_wmi_remove() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 1 data 0
PARAM_VALUE 2 fn 8504755366808363008
BUF_SIZE 0 parent s32min-(-2),1-s32max
BUF_SIZE 0 parent s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 parent unit_byte
HALF_LOCKED2 &_dev->mutex

drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci-pci.c mipi_i3c_hci_pci_suspend() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 0 parent 4096-ptr_max
PARAM_VALUE 0 parent->power.wakeirq->status 0-4294967295
PARAM_VALUE 1 data 8704890079368359936
PARAM_VALUE 2 fn 1381112425381474304
BUF_SIZE 0 parent (-1),4,16,24-s32max
BUF_SIZE 0 parent (-1),4,16,24-s32max
BUF_SIZE 1 data 24
DATA_SOURCE 0 parent $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 0 &parent->mutex

drivers/ptp/ptp_sysfs.c n_vclocks_store() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 0 parent 4096-ptr_max
PARAM_VALUE 1 data 2517026741682270208
PARAM_VALUE 2 fn 7479227346028814336
BUF_SIZE 1 data 4
DATA_SOURCE 0 parent $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
LOCK2 &ptp->n_vclocks_mux
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct ptp_clock)->n_vclocks_mux

drivers/acpi/bus.c acpi_dev_for_each_child_reverse() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 0 parent 4096-ptr_max
PARAM_VALUE 1 data 5953738513376399360
PARAM_VALUE 2 fn 3318217073113075712
BUF_SIZE 1 data 16
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &acpi_scan_lock
HALF_LOCKED2 global &device_hotplug_lock

drivers/gpu/drm/display/drm_dp_aux_bus.c of_dp_aux_depopulate_bus() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 1 data 0
PARAM_VALUE 2 fn 2831797243014017024
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 parent unit_byte

drivers/of/platform.c of_platform_depopulate() -> device_for_each_child_reverse()

Type Parameter Key Value
PARAM_VALUE 0 parent 4096-ptr_max
PARAM_VALUE 0 parent->cma_area->nranges s32min-s32max
PARAM_VALUE 0 parent->of_node 4096-ptr_max
PARAM_VALUE 0 parent->power.wakeirq->status 0-4294967295
PARAM_VALUE 1 data 0
PARAM_VALUE 2 fn 8782659222730010624
BUF_SIZE 0 parent (-1),1616
BUF_SIZE 0 parent (-1),1616
DATA_SOURCE 0 parent $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 parent unit_byte
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 &dev->mutex