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 1906
- fs/locks.c, line 3121
- fs/proc/kcore.c, line 300
- fs/super.c, line 2072
- include/linux/percpu-rwsem.h, line 137
- kernel/cgroup/cgroup.c
- kernel/cpu.c, line 513
- kernel/events/hw_breakpoint.c, line 145
- kernel/events/uprobes.c, line 1331
- kernel/locking/locktorture.c, line 863
- kernel/locking/percpu-rwsem.c, line 293
- kernel/sched/ext/ext.c
- kernel/sched/ext/sub.c
- mm/memory_hotplug.c, line 270
Smatch caller information:
fs/super.c sb_freeze_unlock() -> percpu_up_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &sb->s_umount | ||
| TYPE_LOCK | (struct super_block)->s_umount |
drivers/bluetooth/hci_ldisc.c hci_uart_init_work() -> percpu_up_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| PARAM_VALUE | 0 | sem->rss.cb_head.func | 1-u64max |
| PARAM_VALUE | 0 | sem->rss.cb_head.next | 0 |
| PARAM_VALUE | 0 | sem->waiters.head.prev | 4096-ptr_max |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/bluetooth/hci_ldisc.c hci_uart_register_dev() -> percpu_up_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| PARAM_VALUE | 0 | sem->rss.cb_head.func | 1-u64max |
| PARAM_VALUE | 0 | sem->rss.cb_head.next | 0 |
| PARAM_VALUE | 0 | sem->waiters.head.prev | 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_up_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| PARAM_VALUE | 0 | sem->rss.cb_head.func | 1-u64max |
| PARAM_VALUE | 0 | sem->rss.cb_head.next | 0 |
| PARAM_VALUE | 0 | sem->waiters.head.prev | 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_done() -> percpu_up_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_up_write() -> percpu_up_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_up_write() -> percpu_up_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_unlock() -> percpu_up_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_up_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 2172410039871291392 |
| PARAM_VALUE | 0 | sem->waiters.head.prev | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/cpu.c cpus_write_unlock() -> percpu_up_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_up_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 4096-ptr_max |
| PARAM_VALUE | 0 | sem->rss.cb_head.func | 1-u64max |
| PARAM_VALUE | 0 | sem->rss.cb_head.next | 0 |
| PARAM_VALUE | 0 | sem->waiters.head.prev | 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_destructor() -> percpu_up_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 8451098856262672384 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/events/hw_breakpoint.c bp_constraints_unlock() -> percpu_up_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_stop() -> percpu_up_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_up_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 2092044131123298304 |
| PARAM_VALUE | 0 | sem->rss.cb_head.func | 1-u64max |
| PARAM_VALUE | 0 | sem->rss.cb_head.next | 0 |
| PARAM_VALUE | 0 | sem->waiters.head.prev | 4096-ptr_max |
| 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_up_write() -> percpu_up_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_up_write()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sem | 2605643244934909952 |
| PARAM_VALUE | 0 | sem->rss.cb_head.func | 1-u64max |
| PARAM_VALUE | 0 | sem->rss.cb_head.next | 0 |
| PARAM_VALUE | 0 | sem->waiters.head.prev | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/ext4/super.c ext4_writepages_up_write() -> percpu_up_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 |