Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/locks.c __locks_delete_block() -> __locks_wake_up_blocks()

Type Parameter Key Value
PARAM_VALUE 0 blocker 4096-ptr_max
CAPPED_DATA 0 &blocker->flc_blocked_requests 1
DATA_SOURCE 0 blocker $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 blocker->flc_type 0-2
LOCK2 global &blocked_lock_lock
HALF_LOCKED2 &ctx->flc_lock

fs/locks.c __locks_insert_block() -> __locks_wake_up_blocks()

Type Parameter Key Value
PARAM_VALUE 0 blocker 4096-ptr_max
PARAM_VALUE 0 blocker->flc_blocked_member.next 4096-ptr_max
PARAM_VALUE 0 blocker->flc_blocker 4096-ptr_max
CAPPED_DATA 0 &blocker->flc_blocked_member 1
DATA_SOURCE 0 blocker $1
NOSPEC 0 blocker->flc_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 blocker->flc_type 0-2
LOCK2 &ctx->flc_lock
LOCK2 global &blocked_lock_lock
TYPE_LOCK (struct file_lock_context)->flc_lock

fs/locks.c locks_wake_up_blocks() -> __locks_wake_up_blocks()

Type Parameter Key Value
PARAM_VALUE 0 blocker 4096-ptr_max
CAPPED_DATA 0 &blocker->flc_blocked_requests 1
DATA_SOURCE 0 blocker $0
PARAM_COMPARE 0 &blocker->flc_blocked_requests != $0->flc_blocked_requests.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 blocker->flc_type 0-1
LOCK2 &ctx->flc_lock
LOCK2 global &blocked_lock_lock
TYPE_LOCK (struct file_lock_context)->flc_lock

fs/locks.c posix_lock_inode() -> __locks_wake_up_blocks()

Type Parameter Key Value
PARAM_VALUE 0 blocker 4096-ptr_max
PARAM_VALUE 0 blocker->flc_type 0-1,3-255
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 blocker->flc_type 0-1
LOCK2 &ctx->flc_lock
LOCK2 global &blocked_lock_lock
TYPE_LOCK (struct file_lock_context)->flc_lock