Defined in 1 files as a function:
Referenced in 12 files:
- drivers/bluetooth/hci_ldisc.c
- fs/ext4/ext4.h, line 1887
- fs/locks.c
- fs/proc/kcore.c, line 338
- include/linux/cgroup-defs.h, line 890
- include/linux/percpu-rwsem.h, line 133
- kernel/cpu.c, line 490
- kernel/events/hw_breakpoint.c, line 131
- kernel/events/uprobes.c, line 1833
- kernel/locking/locktorture.c, line 869
- kernel/sched/ext/ext.c
- mm/memory_hotplug.c, line 215
Smatch caller information:
drivers/bluetooth/hci_ldisc.c hci_uart_dequeue() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/bluetooth/hci_ldisc.c hci_uart_flush() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &hdev->req_lock |
drivers/bluetooth/hci_ldisc.c hci_uart_send_frame() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &hdev->req_lock |
drivers/bluetooth/hci_ldisc.c hci_uart_tty_receive() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &tty->ldisc_sem | ||
| HALF_LOCKED2 | &tty->ldisc_sem | ||
| HALF_LOCKED2 | &tty->port->buf.lock |
mm/memory_hotplug.c get_online_mems() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 6202115441398431744 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | global &cgroup_mutex | ||
| HALF_LOCKED2 | global &mf_mutex | ||
| HALF_LOCKED2 | global &scan_mutex |
fs/ext4/inode.c ext4_writepages_down_read() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/locking/locktorture.c torture_percpu_rwsem_down_read() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 8876333978586963968 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &torture_rwlock | ||
| HALF_LOCKED2 | global &torture_rwsem |
kernel/cgroup/cgroup.c cgroup_threadgroup_change_begin() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 2172410039871291392 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &cgroup_mutex |
kernel/cpu.c cpus_read_lock() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 8100665728720609280 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &attr->mutex | ||
| HALF_LOCKED2 | &kvm->lock | ||
| HALF_LOCKED2 | &kvm->slots_lock | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &policy->rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &cgroup_mutex | ||
| HALF_LOCKED2 | global &cpuset_top_mutex | ||
| HALF_LOCKED2 | global &freeze_on_smi_mutex | ||
| HALF_LOCKED2 | global &hwlat_data.lock | ||
| HALF_LOCKED2 | global &ifs_sem | ||
| HALF_LOCKED2 | global &isolated_cpus_lock | ||
| HALF_LOCKED2 | global &mce_inject_mutex | ||
| HALF_LOCKED2 | global &mmiotrace_mutex | ||
| HALF_LOCKED2 | global &mux_interval_mutex | ||
| HALF_LOCKED2 | global &once_mutex | ||
| HALF_LOCKED2 | global &pernet_ops_rwsem | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | global &sched_core_mutex | ||
| HALF_LOCKED2 | global &sev_cmd_mutex | ||
| HALF_LOCKED2 | global &trace_types_lock | ||
| HALF_LOCKED2 | global &watchdog_mutex | ||
| HALF_LOCKED2 | irq |
kernel/events/core.c class_percpu_read_constructor() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 8451098856262672384 |
| DATA_SOURCE | 0 | sem | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/events/hw_breakpoint.c bp_constraints_lock() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 6313341910690820096 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | tsk_mtx | ||
| HALF_LOCKED2 | _T->lock |
fs/locks.c __break_lease() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4890804925068169216 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/locks.c __break_lease() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4890804925068169216 |
| PARAM_VALUE | 0 | sem->read_count | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/locks.c __fcntl_getlease() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4890804925068169216 |
| NOCHECK_CALL |
fs/locks.c flock_lock_inode() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4890804925068169216 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/locks.c generic_add_lease() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4890804925068169216 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &inode->i_rwsem |
fs/locks.c generic_delete_lease() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4890804925068169216 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/locks.c locks_remove_lease() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4890804925068169216 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/locks.c posix_lock_inode() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4890804925068169216 |
| PARAM_VALUE | 0 | sem->read_count | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/signal.c cgroup_threadgroup_change_begin() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 2172410039871291392 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &system_transition_mutex |
kernel/events/uprobes.c uprobe_start_dup_mmap() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 2092044131123298304 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/proc/kcore.c read_kcore_iter() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 2605643244934909952 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
fs/exec.c cgroup_threadgroup_change_begin() -> percpu_down_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 2172410039871291392 |
| NOCHECK_CALL |