Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 15 files:

Smatch caller information:

fs/super.c sb_wait_write() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bdev->bd_fsfreeze_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &sb->s_umount
HALF_LOCKED2 &sdp->sd_freeze_mutex
HALF_LOCKED2 global &dax_srcu

drivers/bluetooth/hci_ldisc.c hci_uart_init_work() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/bluetooth/hci_ldisc.c hci_uart_register_dev() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/bluetooth/hci_ldisc.c hci_uart_tty_close() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &tty->legacy_mutex

mm/memory_hotplug.c mem_hotplug_begin() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 6202115441398431744
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex

fs/ext4/inode.c ext4_writepages_down_write() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &inode->i_mapping->invalidate_lock
LOCK2 &inode->i_rwsem
TYPE_LOCK (struct address_space)->invalidate_lock
TYPE_LOCK (struct inode)->i_rwsem

kernel/locking/locktorture.c torture_percpu_rwsem_down_write() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 8876333978586963968
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 global &torture_mutex
HALF_LOCKED2 global &torture_raw_spinlock
HALF_LOCKED2 global &torture_rwlock
HALF_LOCKED2 global &torture_rwsem
HALF_LOCKED2 global &torture_spinlock

kernel/cgroup/cgroup.c cgroup_attach_lock() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 2172410039871291392
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &cgroup_mutex

kernel/cgroup/cgroup.c cgroup_favor_dynmods() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 2172410039871291392
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/cpu.c cpus_write_lock() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 8100665728720609280
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &cpu_add_remove_lock

drivers/bluetooth/hci_serdev.c hci_uart_unregister_device() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->mutex
TYPE_LOCK (struct device)->mutex

kernel/events/core.c class_percpu_write_constructor() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 8451098856262672384
DATA_SOURCE 0 sem $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/events/hw_breakpoint.c bp_constraints_lock() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 6313341910690820096
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 _T->lock

fs/locks.c locks_start() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 4890804925068169216
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &f->lock
TYPE_LOCK (struct seq_file)->lock

kernel/events/uprobes.c register_for_each_vma() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 2092044131123298304
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &uprobe->register_rwsem
HALF_LOCKED2 global &event_mutex
TYPE_LOCK (struct uprobe)->register_rwsem

fs/ext4/migrate.c ext4_writepages_down_write() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/proc/kcore.c kcore_update_ram() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 2605643244934909952
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ext4/super.c ext4_writepages_down_write() -> percpu_down_write()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 &sb->s_umount