Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

kernel/locking/percpu-rwsem.c percpu_down_write() -> finish_rcuwait()

Type Parameter Key Value
PARAM_VALUE 0 w 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &f->lock
HALF_LOCKED2 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &uprobe->register_rwsem
HALF_LOCKED2 global &cpu_add_remove_lock

drivers/cxl/pci.c __cxl_pci_mbox_send_cmd() -> finish_rcuwait()

Type Parameter Key Value
PARAM_VALUE 0 w 4096-ptr_max
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cxl_mbox->mbox_mutex
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct cxl_mailbox)->mbox_mutex

kernel/printk/nbcon.c nbcon_kthread_func() -> finish_rcuwait()

Type Parameter Key Value
PARAM_VALUE 0 w 4096-ptr_max
NOCHECK_CALL

kernel/irq_work.c irq_work_sync() -> finish_rcuwait()

Type Parameter Key Value
PARAM_VALUE 0 w 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 &port->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &iio_sysfs_trig_list_mut
HALF_LOCKED2 global &relay_channels_mutex

mm/mmap_lock.c __vma_start_exclude_readers() -> finish_rcuwait()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock

kernel/rcu/update.c rcu_tasks_one_gp() -> finish_rcuwait()

Type Parameter Key Value
PARAM_VALUE 0 w 4096-ptr_max
RX_PATH
NOCHECK_CALL

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_swap_active_memslots() -> finish_rcuwait()

Type Parameter Key Value
PARAM_VALUE 0 w 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &kvm->mn_invalidate_lock
LOCK2 &kvm->slots_arch_lock
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->slots_lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct kvm)->mn_invalidate_lock
TYPE_LOCK (struct kvm)->slots_arch_lock

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_vcpu_block() -> finish_rcuwait()

Type Parameter Key Value
PARAM_VALUE 0 w 4096-ptr_max
BUF_SIZE 0 w 8
DATA_SOURCE 0 w r kvm_arch_vcpu_get_wait
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
HALF_LOCKED2 &vcpu->mutex

kernel/workqueue.c put_unbound_pool() -> finish_rcuwait()

Type Parameter Key Value
PARAM_VALUE 0 w 6078241373913124864
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &wq_pool_mutex

kernel/sched/core.c balance_hotplug_wait() -> finish_rcuwait()

Type Parameter Key Value
PARAM_VALUE 0 w 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq