Defined in 1 files as a function:

Referenced in 12 files:

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