Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/dlm/lock.c __dlm_master_lookup() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->rcu.func 1-u64max
PARAM_VALUE 0 r->rcu.next 0
PARAM_VALUE 0 r->res_length (-88)-64
PARAM_VALUE 0 r->res_ls 4096-ptr_max
CAPPED_DATA 0 r->res_dir_nodeid 1
DATA_SOURCE 0 r $1
NOCHECK_CALL
LOCK2 &ls->ls_rsbtbl_lock
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
TYPE_LOCK (struct dlm_ls)->ls_rsbtbl_lock

fs/dlm/lock.c __dlm_master_lookup() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->rcu.func 1-u64max
PARAM_VALUE 0 r->rcu.next 0
PARAM_VALUE 0 r->res_length (-88)-64
PARAM_VALUE 0 r->res_ls 4096-ptr_max
CAPPED_DATA 0 r->res_dir_nodeid 1
CAPPED_DATA 0 r->res_master_nodeid 1
DATA_SOURCE 0 r $1
PARAM_COMPARE 0 r->res_dir_nodeid == $0->res_master_nodeid
PREEMPT_ADD
NOCHECK_CALL
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
HALF_LOCKED2 &ls->ls_rsbtbl_lock
HALF_LOCKED2 0 &r->res_lock

fs/dlm/lock.c can_be_granted() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 r $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 r->res_hash 0-u32max
USER_DATA 0 r->res_length 0-64[c][u]
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 bh
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c dlm_dump_rsb_hash() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
CAPPED_DATA 0 r->res_hash 1
CAPPED_DATA 0 &r->res_slow_list 1
NOCHECK_CALL
LOCK2 &ls->ls_requestqueue_lock
LOCK2 &ls->ls_rsbtbl_lock
LOCK2 bh
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ls)->ls_requestqueue_lock
TYPE_LOCK (struct dlm_ls)->ls_rsbtbl_lock

fs/dlm/lock.c dlm_dump_rsb_name() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 0
NOCHECK_CALL
LOCK2 &ls->ls_recv_active
LOCK2 &pool->lock
LOCK2 rcu_read
HALF_LOCKED2 global &nodes_srcu
TYPE_LOCK (struct dlm_ls)->ls_recv_active

fs/dlm/lock.c dlm_recover_process_copy() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_recv_active
LOCK2 &pool->lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 global &nodes_srcu
TYPE_LOCK (struct dlm_ls)->ls_recv_active
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c free_inactive_rsb() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
CAPPED_DATA 0 &r->res_lookup 1
DATA_SOURCE 0 r $0
PARAM_COMPARE 0 &r->res_lookup != $0->res_lookup.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
HALF_LOCKED2 &ls->ls_rsbtbl_lock
HALF_LOCKED2 bh

fs/dlm/lock.c free_inactive_rsb() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lookup.next 4096-ptr_max
CAPPED_DATA 0 &r->res_grantqueue 1
CAPPED_DATA 0 &r->res_lookup 1
DATA_SOURCE 0 r $0
PARAM_COMPARE 0 &r->res_grantqueue != $0->res_grantqueue.next
PARAM_COMPARE 0 &r->res_lookup == $0->res_lookup.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
HALF_LOCKED2 &ls->ls_rsbtbl_lock
HALF_LOCKED2 bh

fs/dlm/lock.c free_inactive_rsb() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_lookup.next 4096-ptr_max
CAPPED_DATA 0 &r->res_convertqueue 1
CAPPED_DATA 0 &r->res_grantqueue 1
CAPPED_DATA 0 &r->res_lookup 1
DATA_SOURCE 0 r $0
PARAM_COMPARE 0 &r->res_convertqueue != $0->res_convertqueue.next
PARAM_COMPARE 0 &r->res_grantqueue == $0->res_grantqueue.next
PARAM_COMPARE 0 &r->res_lookup == $0->res_lookup.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
HALF_LOCKED2 &ls->ls_rsbtbl_lock
HALF_LOCKED2 bh

fs/dlm/lock.c free_inactive_rsb() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_lookup.next 4096-ptr_max
CAPPED_DATA 0 &r->res_convertqueue 1
CAPPED_DATA 0 &r->res_grantqueue 1
CAPPED_DATA 0 &r->res_lookup 1
CAPPED_DATA 0 &r->res_waitqueue 1
DATA_SOURCE 0 r $0
PARAM_COMPARE 0 &r->res_convertqueue == $0->res_convertqueue.next
PARAM_COMPARE 0 &r->res_grantqueue == $0->res_grantqueue.next
PARAM_COMPARE 0 &r->res_lookup == $0->res_lookup.next
PARAM_COMPARE 0 &r->res_waitqueue != $0->res_waitqueue.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
HALF_LOCKED2 &ls->ls_rsbtbl_lock
HALF_LOCKED2 bh

fs/dlm/lock.c free_inactive_rsb() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_lookup.next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next 4096-ptr_max
CAPPED_DATA 0 &r->res_convertqueue 1
CAPPED_DATA 0 &r->res_grantqueue 1
CAPPED_DATA 0 &r->res_lookup 1
CAPPED_DATA 0 &r->res_root_list 1
CAPPED_DATA 0 &r->res_waitqueue 1
DATA_SOURCE 0 r $0
PARAM_COMPARE 0 &r->res_convertqueue == $0->res_convertqueue.next
PARAM_COMPARE 0 &r->res_grantqueue == $0->res_grantqueue.next
PARAM_COMPARE 0 &r->res_lookup == $0->res_lookup.next
PARAM_COMPARE 0 &r->res_root_list != $0->res_root_list.next
PARAM_COMPARE 0 &r->res_waitqueue == $0->res_waitqueue.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
HALF_LOCKED2 &ls->ls_rsbtbl_lock
HALF_LOCKED2 bh

fs/dlm/lock.c free_inactive_rsb() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_lookup.next 4096-ptr_max
PARAM_VALUE 0 r->res_root_list.next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next 4096-ptr_max
CAPPED_DATA 0 &r->res_convertqueue 1
CAPPED_DATA 0 &r->res_grantqueue 1
CAPPED_DATA 0 &r->res_lookup 1
CAPPED_DATA 0 &r->res_root_list 1
CAPPED_DATA 0 &r->res_scan_list 1
CAPPED_DATA 0 &r->res_waitqueue 1
DATA_SOURCE 0 r $0
PARAM_COMPARE 0 &r->res_convertqueue == $0->res_convertqueue.next
PARAM_COMPARE 0 &r->res_grantqueue == $0->res_grantqueue.next
PARAM_COMPARE 0 &r->res_lookup == $0->res_lookup.next
PARAM_COMPARE 0 &r->res_root_list == $0->res_root_list.next
PARAM_COMPARE 0 &r->res_scan_list != $0->res_scan_list.next
PARAM_COMPARE 0 &r->res_waitqueue == $0->res_waitqueue.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
HALF_LOCKED2 &ls->ls_rsbtbl_lock
HALF_LOCKED2 bh

fs/dlm/lock.c free_inactive_rsb() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_lookup.next 4096-ptr_max
PARAM_VALUE 0 r->res_root_list.next 4096-ptr_max
PARAM_VALUE 0 r->res_scan_list.next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next 4096-ptr_max
CAPPED_DATA 0 &r->res_convertqueue 1
CAPPED_DATA 0 &r->res_grantqueue 1
CAPPED_DATA 0 &r->res_lookup 1
CAPPED_DATA 0 &r->res_recover_list 1
CAPPED_DATA 0 &r->res_root_list 1
CAPPED_DATA 0 &r->res_scan_list 1
CAPPED_DATA 0 &r->res_waitqueue 1
DATA_SOURCE 0 r $0
PARAM_COMPARE 0 &r->res_convertqueue == $0->res_convertqueue.next
PARAM_COMPARE 0 &r->res_grantqueue == $0->res_grantqueue.next
PARAM_COMPARE 0 &r->res_lookup == $0->res_lookup.next
PARAM_COMPARE 0 &r->res_recover_list != $0->res_recover_list.next
PARAM_COMPARE 0 &r->res_root_list == $0->res_root_list.next
PARAM_COMPARE 0 &r->res_scan_list == $0->res_scan_list.next
PARAM_COMPARE 0 &r->res_waitqueue == $0->res_waitqueue.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
HALF_LOCKED2 &ls->ls_rsbtbl_lock
HALF_LOCKED2 bh

fs/dlm/lock.c free_inactive_rsb() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_lookup.next 4096-ptr_max
PARAM_VALUE 0 r->res_recover_list.next 4096-ptr_max
PARAM_VALUE 0 r->res_root_list.next 4096-ptr_max
PARAM_VALUE 0 r->res_scan_list.next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next 4096-ptr_max
CAPPED_DATA 0 &r->res_convertqueue 1
CAPPED_DATA 0 &r->res_grantqueue 1
CAPPED_DATA 0 &r->res_lookup 1
CAPPED_DATA 0 &r->res_masters_list 1
CAPPED_DATA 0 &r->res_recover_list 1
CAPPED_DATA 0 &r->res_root_list 1
CAPPED_DATA 0 &r->res_scan_list 1
CAPPED_DATA 0 &r->res_waitqueue 1
DATA_SOURCE 0 r $0
PARAM_COMPARE 0 &r->res_convertqueue == $0->res_convertqueue.next
PARAM_COMPARE 0 &r->res_grantqueue == $0->res_grantqueue.next
PARAM_COMPARE 0 &r->res_lookup == $0->res_lookup.next
PARAM_COMPARE 0 &r->res_masters_list != $0->res_masters_list.next
PARAM_COMPARE 0 &r->res_recover_list == $0->res_recover_list.next
PARAM_COMPARE 0 &r->res_root_list == $0->res_root_list.next
PARAM_COMPARE 0 &r->res_scan_list == $0->res_scan_list.next
PARAM_COMPARE 0 &r->res_waitqueue == $0->res_waitqueue.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
HALF_LOCKED2 &ls->ls_rsbtbl_lock
HALF_LOCKED2 bh

fs/dlm/lock.c grant_pending_convert() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 &r->res_convertqueue 1
DATA_SOURCE 0 r $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 bh
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c grant_pending_locks() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_nodeid s32min-(-1),1-s32max
DATA_SOURCE 0 r $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_requestqueue_lock
HALF_LOCKED2 bh
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c receive_request_reply() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_requestqueue_lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ls)->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/recover.c dlm_recovered_lock() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 r $0
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &ls->ls_recv_active
LOCK2 &pool->lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 global &nodes_srcu
TYPE_LOCK (struct dlm_ls)->ls_recv_active
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/recover.c recover_locks() -> dlm_dump_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_nodeid s32min-(-1),1-s32max
PARAM_VALUE 0 r->res_recover_locks_count s32min-(-1),1-s32max
DATA_SOURCE 0 r $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_in_recovery
LOCK2 &ls->ls_recoverd_active
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_ls)->ls_in_recovery
TYPE_LOCK (struct dlm_ls)->ls_recoverd_active
TYPE_LOCK (struct dlm_rsb)->res_lock