Defined in 1 files as a function:
Referenced in 4 files:
- kernel/locking/rtmutex.c
- kernel/locking/rtmutex_api.c, line 214
- kernel/locking/rwbase_rt.c
- kernel/locking/ww_mutex.h, line 176
Smatch caller information:
kernel/locking/rtmutex_api.c __rt_mutex_futex_unlock() -> rt_mutex_has_waiters()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| DATA_SOURCE | 0 | lock | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pi_state->pi_mutex.wait_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | 0 | &lock->wait_lock | |
| TYPE_LOCK | (struct rt_mutex_base)->wait_lock |
kernel/locking/rtmutex_api.c fixup_rt_mutex_waiters() -> rt_mutex_has_waiters()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| BUF_SIZE | 0 | lock | (-1),96 |
| BUF_SIZE | 0 | lock | (-1),96 |
| CAPPED_DATA | 0 | lock | 1 |
| DATA_SOURCE | 0 | lock | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | 0 | &lock->wait_lock | |
| TYPE_LOCK | (struct rt_mutex_base)->wait_lock |
kernel/locking/rtmutex_api.c remove_waiter() -> rt_mutex_has_waiters()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| BUF_SIZE | 0 | lock | (-1),96 |
| BUF_SIZE | 0 | lock | (-1),96 |
| CAPPED_DATA | 0 | lock | 1 |
| DATA_SOURCE | 0 | lock | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| LOCK2 | &owner->pi_lock | ||
| LOCK2 | 0 | &lock->wait_lock | |
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct rt_mutex_base)->wait_lock | ||
| TYPE_LOCK | (struct task_struct)->pi_lock |
kernel/locking/rtmutex_api.c rt_mutex_owner_encode() -> rt_mutex_has_waiters()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| CAPPED_DATA | 0 | lock | 1 |
| DATA_SOURCE | 0 | lock | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pi_state->pi_mutex.wait_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | 0 | &lock->wait_lock |
kernel/locking/rtmutex_api.c rt_mutex_slowunlock() -> rt_mutex_has_waiters()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| DATA_SOURCE | 0 | lock | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &lock->wait_lock | |
| TYPE_LOCK | (struct rt_mutex_base)->wait_lock |
kernel/locking/rtmutex_api.c rt_mutex_slowunlock() -> rt_mutex_has_waiters()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| DATA_SOURCE | 0 | lock | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &lock->wait_lock | |
| TYPE_LOCK | (struct rt_mutex_base)->wait_lock |
kernel/locking/rtmutex_api.c task_blocks_on_rt_mutex() -> rt_mutex_has_waiters()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| CAPPED_DATA | 0 | lock | 1 |
| DATA_SOURCE | 0 | lock | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| LOCK2 | &task->pi_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | 0 | &lock->wait_lock | |
| TYPE_LOCK | (struct rt_mutex_base)->wait_lock | ||
| TYPE_LOCK | (struct task_struct)->pi_lock |
kernel/locking/rtmutex_api.c try_to_take_rt_mutex() -> rt_mutex_has_waiters()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| CAPPED_DATA | 0 | lock | 1 |
| DATA_SOURCE | 0 | lock | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | 0 | &lock->wait_lock | |
| TYPE_LOCK | (struct rt_mutex_base)->wait_lock |
kernel/locking/rtmutex_api.c try_to_take_rt_mutex() -> rt_mutex_has_waiters()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| BUF_SIZE | 0 | lock | (-1),96 |
| BUF_SIZE | 0 | lock | (-1),96 |
| CAPPED_DATA | 0 | lock | 1 |
| DATA_SOURCE | 0 | lock | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &task->pi_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | 0 | &lock->wait_lock | |
| TYPE_LOCK | (struct rt_mutex_base)->wait_lock | ||
| TYPE_LOCK | (struct task_struct)->pi_lock |