Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 15 files:
- drivers/bluetooth/hci_ldisc.c
- fs/ext4/ext4.h, line 1899
- fs/locks.c, line 3104
- fs/proc/kcore.c, line 279
- fs/super.c, line 2043
- include/linux/percpu-rwsem.h, line 137
- kernel/cgroup/cgroup.c
- kernel/cpu.c, line 508
- kernel/events/hw_breakpoint.c, line 133
- kernel/events/uprobes.c, line 1281
- kernel/locking/locktorture.c, line 856
- kernel/locking/percpu-rwsem.c, line 260
- kernel/sched/ext/ext.c
- kernel/sched/ext/sub.c
- mm/memory_hotplug.c, line 265
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 |