Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 19 files:
- arch/arm/common/bL_switcher.c
- arch/powerpc/kexec/core_64.c, line 218
- arch/powerpc/platforms/pseries/dlpar.c, line 585
- arch/powerpc/platforms/pseries/hotplug-cpu.c, line 794
- arch/powerpc/platforms/pseries/hotplug-memory.c
- arch/powerpc/platforms/pseries/pmem.c, line 137
- arch/s390/kernel/smp.c, line 1148
- drivers/acpi/scan.c, line 494
- drivers/base/core.c, line 2884
- drivers/base/cpu.c
- drivers/base/memory.c
- drivers/s390/char/sclp_config.c, line 63
- drivers/s390/char/sclp_mem.c
- drivers/xen/balloon.c, line 328
- drivers/xen/cpu_hotplug.c, line 31
- kernel/cpu.c
- kernel/power/hibernate.c
- kernel/power/user.c, line 433
- mm/memory_hotplug.c
Smatch caller information:
kernel/power/user.c snapshot_ioctl() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| CAPABLE | 0 | 21 | |
| NOCHECK_CALL | |||
| LOCK2 | global &device_hotplug_lock | ||
| LOCK2 | global &system_transition_mutex |
drivers/xen/cpu_hotplug.c disable_hotplug_cpu() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &device_hotplug_lock | ||
| HALF_LOCKED2 | global &xenwatch_mutex |
mm/memory_hotplug.c __add_memory_driver_managed() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &device_hotplug_lock | ||
| HALF_LOCKED2 | &pool->lock |
mm/memory_hotplug.c add_memory() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| LOCK2 | &pool->lock | ||
| LOCK2 | global &device_hotplug_lock |
mm/memory_hotplug.c offline_and_remove_memory_ranges() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &device_hotplug_lock | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | _T->lock |
mm/memory_hotplug.c remove_memory() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &device_hotplug_lock |
kernel/cpu.c __store_smt_control() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &of->mutex | ||
| LOCK2 | global &device_hotplug_lock | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
kernel/cpu.c add_cpu() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &device_hotplug_lock | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | global &mmiotrace_mutex | ||
| HALF_LOCKED2 | global &ne_cpu_pool.mutex |
kernel/cpu.c remove_cpu() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &device_hotplug_lock | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | global &mmiotrace_mutex | ||
| HALF_LOCKED2 | global &ne_cpu_pool.mutex | ||
| HALF_LOCKED2 | global &syscore_lock |
kernel/cpu.c target_store() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &of->mutex | ||
| LOCK2 | global &device_hotplug_lock | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/base/core.c online_store() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &of->mutex | ||
| LOCK2 | global &device_hotplug_lock | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/xen/balloon.c reserve_additional_memory() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &device_hotplug_lock |
drivers/base/memory.c probe_store() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &of->mutex | ||
| LOCK2 | global &device_hotplug_lock | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/base/memory.c state_store() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &of->mutex | ||
| LOCK2 | global &device_hotplug_lock | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
kernel/power/hibernate.c hibernate() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &device_hotplug_lock | ||
| LOCK2 | global &system_transition_mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | global &autosleep_lock |
kernel/power/hibernate.c hibernate_quiet_exec() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &of->mutex | ||
| LOCK2 | global &device_hotplug_lock | ||
| LOCK2 | global &system_transition_mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
kernel/power/hibernate.c load_image_and_restore() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &device_hotplug_lock | ||
| LOCK2 | global &system_transition_mutex | ||
| HALF_LOCKED2 | &of->mutex |
drivers/acpi/scan.c acpi_device_hotplug() -> unlock_device_hotplug()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| LOCK2 | global &device_hotplug_lock | ||
| HALF_LOCKED2 | &pool->lock |