Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/locking/rwsem.c rwsem_cond_wake_waiter() -> rwsem_mark_wake()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 0 sem->first_waiter 4096-ptr_max
PARAM_VALUE 0 sem->first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 sem->first_waiter->list.prev->next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 sem->first_waiter->list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 sem->first_waiter->type 0-1
PARAM_VALUE 0 sem->wait_lock.dep_map->name 0-255
PARAM_VALUE 0 sem->wait_lock.owner_cpu 0
PARAM_VALUE 0 sem->wait_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 wake_type 0-1
PARAM_VALUE 2 wake_q 427825894435201024,6589195356528197632
PARAM_VALUE 2 wake_q->first 1
PARAM_VALUE 2 wake_q->lastp 427825894435201024,6589195356528197632
PARAM_VALUE 2 *wake_q->lastp 1
BUF_SIZE 0 sem->dep_map.name (-1),20
BUF_SIZE 0 sem->first_waiter (-1),48
BUF_SIZE 0 sem->magic (-1),160
DATA_SOURCE 0 sem $0
DATA_SOURCE 2 wake_q $2
FUZZY_MAX 1 wake_type 1
STR_LEN 0 sem->dep_map.name (-1),19
HARD_MAX 1 wake_type 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &sem->wait_lock
TYPE_LOCK (struct rw_semaphore)->wait_lock

kernel/locking/rwsem.c rwsem_del_wake_waiter() -> rwsem_mark_wake()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 0 sem->first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 sem->first_waiter->type 0-1
PARAM_VALUE 0 sem->wait_lock.dep_map->name 0-255
PARAM_VALUE 0 sem->wait_lock.owner_cpu 0
PARAM_VALUE 0 sem->wait_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 wake_type 0
PARAM_VALUE 2 wake_q 427825894435201024,6589195356528197632
PARAM_VALUE 2 wake_q->first 1
PARAM_VALUE 2 wake_q->lastp 427825894435201024,6589195356528197632
PARAM_VALUE 2 *wake_q->lastp 1
BUF_SIZE 0 sem->dep_map.name (-1),20
BUF_SIZE 0 sem->magic (-1),160
DATA_SOURCE 0 sem $0
DATA_SOURCE 2 wake_q $2
STR_LEN 0 sem->dep_map.name (-1),19
PREEMPT_ADD
RX_PATH
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &sem->wait_lock
TYPE_LOCK (struct rw_semaphore)->wait_lock

kernel/locking/rwsem.c rwsem_down_read_slowpath() -> rwsem_mark_wake()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 0 sem->first_waiter 1-u64max
PARAM_VALUE 0 sem->wait_lock.dep_map->name 0-255
PARAM_VALUE 0 sem->wait_lock.owner_cpu 0
PARAM_VALUE 0 sem->wait_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 wake_type 2
PARAM_VALUE 2 wake_q 6589195356528197632
PARAM_VALUE 2 wake_q->first 1
PARAM_VALUE 2 wake_q->lastp 6589195356528197632
PARAM_VALUE 2 *wake_q->lastp 1
BUF_SIZE 0 sem->dep_map.name (-1),20
BUF_SIZE 0 sem->magic (-1),160
DATA_SOURCE 0 sem $0
STR_LEN 0 sem->dep_map.name (-1),19
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &sem->wait_lock
TYPE_LOCK (struct rw_semaphore)->wait_lock

kernel/locking/rwsem.c rwsem_downgrade_wake() -> rwsem_mark_wake()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 0 sem->first_waiter 1-u64max
PARAM_VALUE 0 sem->wait_lock.dep_map->name 0-255
PARAM_VALUE 0 sem->wait_lock.owner_cpu 0
PARAM_VALUE 0 sem->wait_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 wake_type 2
PARAM_VALUE 2 wake_q 1838794151185956864
PARAM_VALUE 2 wake_q->first 1
PARAM_VALUE 2 wake_q->lastp 1838794151185956864
PARAM_VALUE 2 *wake_q->lastp 1
DATA_SOURCE 0 sem $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &sem->wait_lock
HALF_LOCKED2 &bs->bs_kgts_sema
HALF_LOCKED2 &card->controls_rwsem
HALF_LOCKED2 &con->sock_lock
HALF_LOCKED2 &ctx->rwsem
HALF_LOCKED2 &d->sem
HALF_LOCKED2 &device->client_data_rwsem
HALF_LOCKED2 &dvnode->validate_lock
HALF_LOCKED2 &group->mode_sem
HALF_LOCKED2 &gts->ts_ctxlock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &mdsc->snap_rwsem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &nilfs->ns_segctor_sem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &osdc->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rbd_dev->lock_rwsem
HALF_LOCKED2 &rdev->exclusive_lock
HALF_LOCKED2 &session->s_mutex
HALF_LOCKED2 &svms->lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 &vnode->validate_lock
HALF_LOCKED2 b
HALF_LOCKED2 global &clients_rwsem
HALF_LOCKED2 global &devices_rwsem
HALF_LOCKED2 global &htable_rw_lock
HALF_LOCKED2 global &key_types_sem
TYPE_LOCK (struct rw_semaphore)->wait_lock

kernel/locking/rwsem.c rwsem_wake() -> rwsem_mark_wake()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 0 sem->first_waiter 1-u64max
PARAM_VALUE 0 sem->wait_lock.dep_map->name 0-255
PARAM_VALUE 0 sem->wait_lock.owner_cpu 0
PARAM_VALUE 0 sem->wait_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 wake_type 0
PARAM_VALUE 2 wake_q 1865252720126472192
PARAM_VALUE 2 wake_q->first 1
PARAM_VALUE 2 wake_q->lastp 1865252720126472192
PARAM_VALUE 2 *wake_q->lastp 1
CAPPED_DATA 0 sem 1
DATA_SOURCE 0 sem $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &sem->wait_lock
TYPE_LOCK (struct rw_semaphore)->wait_lock