Defined in 1 files as a function:

Referenced in 10 files:

Smatch caller information:

drivers/gpu/drm/radeon/radeon_fence.c radeon_fence_enable_signaling() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 0 wq_head 4096-ptr_max
PARAM_VALUE 1 wq_entry 4096-ptr_max
PARAM_VALUE 1 wq_entry->flags 0
PARAM_VALUE 1 wq_entry->func 3202912241785561088
PARAM_VALUE 1 wq_entry->private 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu

mm/userfaultfd.c handle_userfault() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 0 wq_head 4096-ptr_max
PARAM_VALUE 1 wq_entry 7064042002420256800
PARAM_VALUE 1 wq_entry->flags 0
PARAM_VALUE 1 wq_entry->func 7324470384730882048
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctx->fault_pending_wqh.lock
LOCK2 irq
TYPE_LOCK (struct wait_queue_head)->lock

mm/userfaultfd.c userfaultfd_ctx_read() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 0 wq_head 4096-ptr_max
PARAM_VALUE 1 wq_entry 7865308866326880256
PARAM_VALUE 1 wq_entry->entry.next 0
PARAM_VALUE 1 wq_entry->entry.prev 0
PARAM_VALUE 1 wq_entry->flags 0
PARAM_VALUE 1 wq_entry->func 3048851846701985792
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctx->fd_wqh.lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct wait_queue_head)->lock

mm/userfaultfd.c userfaultfd_ctx_read() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 0 wq_head 4096-ptr_max
PARAM_VALUE 1 wq_entry 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctx->event_wqh.lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct wait_queue_head)->lock

mm/userfaultfd.c userfaultfd_event_wait_completion() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 0 wq_head 4096-ptr_max
PARAM_VALUE 1 wq_entry 1763872162714255392,3564991124496838688,5202154492632735776,8589163653414457376
PARAM_VALUE 1 wq_entry->flags 0
PARAM_VALUE 1 wq_entry->func 3048851846701985792
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctx->event_wqh.lock
LOCK2 irq
TYPE_LOCK (struct wait_queue_head)->lock

block/blk-mq.c blk_mq_mark_tag_wait() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 0 wq_head 4096-ptr_max
PARAM_VALUE 0 wq_head->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 wq_entry 4096-ptr_max
PARAM_VALUE 1 wq_entry->entry.next 4096-ptr_max
PARAM_VALUE 1 wq_entry->flags 0,2-u32max
BUF_SIZE 0 wq_head 88
BUF_SIZE 1 wq_entry 40
CAPPED_DATA 1 wq_entry->entry.next 1
CAPPED_DATA 1 &wq_entry->entry 1
PARAM_COMPARE 1 wq_entry->entry.next == $1->entry.prev
PARAM_COMPARE 1 &wq_entry->entry == $1->entry.next
BIT_INFO 1 wq_entry->flags 0x0,0xfffffffe
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &hctx->dispatch_wait_lock
LOCK2 irq
LOCK2 0 &wq_head->lock
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct blk_mq_hw_ctx)->dispatch_wait_lock
TYPE_LOCK (struct wait_queue_head)->lock

drivers/md/dm-snap.c wait_for_in_progress() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 0 wq_head 4096-ptr_max
PARAM_VALUE 1 wq_entry 4492213289293590528
PARAM_VALUE 1 wq_entry->entry.next 0
PARAM_VALUE 1 wq_entry->entry.prev 0
PARAM_VALUE 1 wq_entry->flags 0
PARAM_VALUE 1 wq_entry->func 3048851846701985792
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &md->io_barrier
LOCK2 &s->in_progress_wait.lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
HALF_LOCKED2 global &_origins_lock
TYPE_LOCK (struct mapped_device)->io_barrier
TYPE_LOCK (struct wait_queue_head)->lock

io_uring/io-wq.c io_wait_on_hash() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 0 wq_head 4096-ptr_max
PARAM_VALUE 1 wq_entry 4096-ptr_max
PARAM_VALUE 1 wq_entry->entry.next 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &wq->hash->wait.lock
LOCK2 irq
TYPE_LOCK (struct wait_queue_head)->lock

net/unix/af_unix.c unix_dgram_peer_wake_connect() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 0 wq_head 4096-ptr_max
PARAM_VALUE 1 wq_entry 4096-ptr_max
PARAM_VALUE 1 wq_entry->private 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &u_other->peer_wq.wait.lock
TYPE_LOCK (struct wait_queue_head)->lock

kernel/sched/build_utility.c add_wait_queue() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 1 wq_entry 4096-ptr_max
PARAM_VALUE 1 wq_entry->flags 0,2-u32max
BUF_SIZE 0 wq_head (-1),88
BUF_SIZE 0 wq_head (-1),88
DATA_SOURCE 0 wq_head $0
DATA_SOURCE 1 wq_entry $1
BIT_INFO 1 wq_entry->flags 0x0,0xfffffffe
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &wq_head->lock
HALF_LOCKED2 &c->erase_completion_lock
HALF_LOCKED2 &c->inocache_lock
HALF_LOCKED2 &chip->mutex
HALF_LOCKED2 &clcsk->sk_callback_lock
HALF_LOCKED2 &client->mount_mutex
HALF_LOCKED2 &ctl->read_lock
HALF_LOCKED2 &ctx->fault_pending_wqh.lock
HALF_LOCKED2 &ctx->fd_wqh.lock
HALF_LOCKED2 &dev->attach_lock
HALF_LOCKED2 &dev->dev.mutex
HALF_LOCKED2 &dev->dev_mutex
HALF_LOCKED2 &dev->irq_lock
HALF_LOCKED2 &dev->mtx
HALF_LOCKED2 &device->cbuf_lock
HALF_LOCKED2 &ev->lock
HALF_LOCKED2 &f->lock
HALF_LOCKED2 &f->sem
HALF_LOCKED2 &fepriv->sem
HALF_LOCKED2 &khd->lock
HALF_LOCKED2 &ldata->atomic_read_lock
HALF_LOCKED2 &list->read_mutex
HALF_LOCKED2 &log->gclock
HALF_LOCKED2 &nn->bl_mutex
HALF_LOCKED2 &p->event_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &proc->asts_spin
HALF_LOCKED2 &res->spinlock
HALF_LOCKED2 &rmidi->open_mutex
HALF_LOCKED2 &rp->fetch_lock
HALF_LOCKED2 &rp->printf_lock
HALF_LOCKED2 &runtime->oss.params_lock
HALF_LOCKED2 &sci->sc_state_lock
HALF_LOCKED2 &substream->lock
HALF_LOCKED2 &this->chip_lock
HALF_LOCKED2 &tty->atomic_write_lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &tty->termios_rwsem
HALF_LOCKED2 &tu->ioctl_lock
HALF_LOCKED2 &tu->qlock
HALF_LOCKED2 &u->iolock
HALF_LOCKED2 &uport->lock
HALF_LOCKED2 &usblp->wmut
HALF_LOCKED2 &vc->port.buf.lock
HALF_LOCKED2 &vcp->vc_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 global &TxAnchor.LazyLock
HALF_LOCKED2 global &ipmi_read_mutex
HALF_LOCKED2 global &jfsLCacheLock
HALF_LOCKED2 global &jfsTxnLock
HALF_LOCKED2 global &pernet_ops_rwsem
HALF_LOCKED2 global &resource_lock
HALF_LOCKED2 irq
HALF_LOCKED2 k->lock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 sk
TYPE_LOCK (struct wait_queue_head)->lock

kernel/sched/build_utility.c add_wait_queue_priority() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 1 wq_entry 4096-ptr_max
PARAM_VALUE 1 wq_entry->flags 0,16-u32max
DATA_SOURCE 0 wq_head $0
DATA_SOURCE 1 wq_entry $1
BIT_INFO 1 wq_entry->flags 0x10,0xffffffff
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &wq_head->lock
TYPE_LOCK (struct wait_queue_head)->lock

kernel/sched/build_utility.c prepare_to_wait() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 1 wq_entry 4096-ptr_max
PARAM_VALUE 1 wq_entry->entry.next 4096-ptr_max
PARAM_VALUE 1 wq_entry->flags 0,2-u32max
BUF_SIZE 0 wq_head (-1),88
BUF_SIZE 0 wq_head (-1),88
CAPPED_DATA 1 &wq_entry->entry 1
DATA_SOURCE 0 wq_head $0
DATA_SOURCE 1 wq_entry $1
PARAM_COMPARE 1 &wq_entry->entry == $1->entry.next
BIT_INFO 1 wq_entry->flags 0x0,0xfffffffe
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &wq_head->lock
HALF_LOCKED2 &((&xas)->xa)->xa_lock
HALF_LOCKED2 &adc_dev->fifo1_lock
HALF_LOCKED2 &ailp->ail_lock
HALF_LOCKED2 &bebob->lock
HALF_LOCKED2 &bitmap->counts.lock
HALF_LOCKED2 &bus->reg_lock
HALF_LOCKED2 &c->btree_cannibalize_lock
HALF_LOCKED2 &c->bucket_lock
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 &dev->io_mutex
HALF_LOCKED2 &dev->power.lock
HALF_LOCKED2 &device->peer_seq_lock
HALF_LOCKED2 &device->resource->req_lock
HALF_LOCKED2 &dg00x->lock
HALF_LOCKED2 &dice->lock
HALF_LOCKED2 &efw->lock
HALF_LOCKED2 &ep->buffer_lock
HALF_LOCKED2 &ep->ex_lock
HALF_LOCKED2 &ff->lock
HALF_LOCKED2 &fifo_state->fifo_mutex
HALF_LOCKED2 &gl->gl_lockref.lock
HALF_LOCKED2 &hi->lock
HALF_LOCKED2 &hwmon->hwmon_lock
HALF_LOCKED2 &info->lock
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &itv->serialize_lock
HALF_LOCKED2 &itv->udma.lock
HALF_LOCKED2 &journal->j_list_lock
HALF_LOCKED2 &journal->j_state_lock
HALF_LOCKED2 &list->thread_lock
HALF_LOCKED2 &md->suspend_lock
HALF_LOCKED2 &motu->lock
HALF_LOCKED2 &nn->nfsd_ssc_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &oxfw->lock
HALF_LOCKED2 &par->lock
HALF_LOCKED2 &pipe->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port->serial->disc_mutex
HALF_LOCKED2 &proc->inner_lock
HALF_LOCKED2 &resource->req_lock
HALF_LOCKED2 &root->kernfs_rwsem
HALF_LOCKED2 &root->kernfs_supers_rwsem
HALF_LOCKED2 &root->log_mutex
HALF_LOCKED2 &solo_dev->i2c_mutex
HALF_LOCKED2 &sqd->lock
HALF_LOCKED2 &state->owner->so_lock
HALF_LOCKED2 &state->seqlock.lock
HALF_LOCKED2 &tree->lock
HALF_LOCKED2 &tscadc->reg_lock
HALF_LOCKED2 &tscm->lock
HALF_LOCKED2 &wc->lock
HALF_LOCKED2 &zmd->map_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 ap->lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 global &bch_register_lock
HALF_LOCKED2 global &bdev_lock
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 global &flush_lock
HALF_LOCKED2 global &sess_lock
HALF_LOCKED2 global &speakup_info.spinlock
HALF_LOCKED2 global &spk_mutex
HALF_LOCKED2 global &umhelper_sem
HALF_LOCKED2 irq
HALF_LOCKED2 listener
HALF_LOCKED2 mb_lock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 sk
TYPE_LOCK (struct wait_queue_head)->lock

kernel/sched/build_utility.c prepare_to_wait_event() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 1 wq_entry 4096-ptr_max
PARAM_VALUE 1 wq_entry->entry.next 4096-ptr_max
CAPPED_DATA 1 &wq_entry->entry 1
DATA_SOURCE 0 wq_head $0
DATA_SOURCE 1 wq_entry $1
PARAM_COMPARE 1 &wq_entry->entry == $1->entry.next
BIT_INFO 1 wq_entry->flags 0x0,0xfffffffe
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &wq_head->lock
TYPE_LOCK (struct wait_queue_head)->lock

drivers/md/dm-integrity.c sleep_on_endio_wait() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 0 wq_head 4096-ptr_max
PARAM_VALUE 1 wq_entry 1686202123944583168
PARAM_VALUE 1 wq_entry->entry.next 0
PARAM_VALUE 1 wq_entry->entry.prev 0
PARAM_VALUE 1 wq_entry->flags 0
PARAM_VALUE 1 wq_entry->func 3048851846701985792
PREEMPT_ADD
RX_PATH
NOCHECK_CALL
LOCK2 &ic->endio_wait.lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct wait_queue_head)->lock

fs/eventpoll.c __add_wait_queue_exclusive() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 0 wq_head 4096-ptr_max
PARAM_VALUE 1 wq_entry 4096-ptr_max
PARAM_VALUE 1 wq_entry->func 8748672019257929728
DATA_SOURCE 0 wq_head $0
DATA_SOURCE 1 wq_entry $1
BIT_INFO 1 wq_entry->flags 0x1,0xffffffff
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &ep->lock
LOCK2 irq
TYPE_LOCK (struct eventpoll)->lock

fs/fs_pin.c pin_kill() -> __add_wait_queue()

Type Parameter Key Value
PARAM_VALUE 0 wq_head 4096-ptr_max
PARAM_VALUE 1 wq_entry 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &p->wait.lock
LOCK2 irq
LOCK2 rcu_read
HALF_LOCKED2 global &acct_on_mutex
TYPE_LOCK (struct wait_queue_head)->lock