Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/locking/semaphore.c down() -> __sem_acquire()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 0 sem->count 1-u32max
DATA_SOURCE 0 sem $0
FUZZY_MAX 0 sem->count 1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &sem->lock
TYPE_LOCK (struct semaphore)->lock

kernel/locking/semaphore.c down_interruptible() -> __sem_acquire()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 0 sem->count 1-u32max
BUF_SIZE 0 sem (-1),96
BUF_SIZE 0 sem (-1),96
DATA_SOURCE 0 sem $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &sem->lock
HALF_LOCKED2 &client->hwctx_srcu
HALF_LOCKED2 &f->lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rx->sk
HALF_LOCKED2 &service->bulk_mutex
HALF_LOCKED2 global &capsule_mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct semaphore)->lock

kernel/locking/semaphore.c down_killable() -> __sem_acquire()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 0 sem->count 1-u32max
DATA_SOURCE 0 sem $0
FUZZY_MAX 0 sem->count 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &sem->lock
HALF_LOCKED2 &dev->mutex
TYPE_LOCK (struct semaphore)->lock

kernel/locking/semaphore.c down_timeout() -> __sem_acquire()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 0 sem->count 1-u32max
DATA_SOURCE 0 sem $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 sem->count 2147483648-u32max
HOST_DATA 0 sem->last_holder 0-u64max
LOCK2 flags
LOCK2 0 &sem->lock
HALF_LOCKED2 &data->io_mutex
HALF_LOCKED2 &iidev->wake_thread
HALF_LOCKED2 &nlmsg_request->sem
HALF_LOCKED2 &vf->op_mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct semaphore)->lock

kernel/locking/semaphore.c down_trylock() -> __sem_acquire()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 0 sem->count 1-s32max
DATA_SOURCE 0 sem $0
FUZZY_MAX 0 sem->count 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 sem->count 1-s32max
HOST_DATA 0 sem->last_holder 0-u64max
LOCK2 flags
LOCK2 0 &sem->lock
HALF_LOCKED2 &b->lock
HALF_LOCKED2 &c->bucket_lock
HALF_LOCKED2 &data->io_mutex
HALF_LOCKED2 &nn->mbox_cmsg.queue.lock
HALF_LOCKED2 &priv->conf_mutex
HALF_LOCKED2 &rh->recovery_count
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 global &efivars_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct semaphore)->lock