Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

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

fs/locks.c posix_test_locks_conflict() -> posix_locks_conflict()

Type Parameter Key Value
PARAM_VALUE 0 caller_flc 4096-ptr_max
PARAM_VALUE 1 sys_flc 4096-ptr_max
BUF_SIZE 0 caller_flc 192
BUF_SIZE 1 sys_flc 192
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 caller_flc->flc_type 0-2
LOCK2 &ctx->flc_lock
HALF_LOCKED2 &cinode->lock_sem
TYPE_LOCK (struct file_lock_context)->flc_lock

fs/locks.c __locks_insert_block() -> __locks_insert_block param 2()

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