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_free_rsb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| PARAM_VALUE | 0 | r->res_length | (-88)-64 |
| PARAM_VALUE | 0 | r->res_ls | s64min-(-4096),4096-s64max |
| CAPPED_DATA | 0 | r->res_dir_nodeid | 1 |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| 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 |
fs/dlm/lock.c _dlm_master_lookup() -> dlm_free_rsb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| PARAM_VALUE | 0 | r->res_length | (-88)-64 |
| PARAM_VALUE | 0 | r->res_ls | s64min-(-4096),4096-s64max |
| CAPPED_DATA | 0 | r->res_dir_nodeid | 1 |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| 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 |
fs/dlm/lock.c find_rsb_dir() -> dlm_free_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 | s32min-64 |
| PARAM_VALUE | 0 | r->res_ls | s64min-(-4096),4096-s64max |
| PARAM_VALUE | 0 | r->res_nodeid | (-1) |
| PARAM_VALUE | 0 | r->res_ref.refcount.refs.counter | 1 |
| NOSPEC | 0 | r->res_length | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | r->res_hash | 0-u32max |
| USER_DATA | 0 | r->res_length | 0-64[c] |
| 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 |
fs/dlm/lock.c find_rsb_dir() -> dlm_free_rsb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| PARAM_VALUE | 0 | r->res_length | s32min-64 |
| PARAM_VALUE | 0 | r->res_ls | s64min-(-4096),4096-s64max |
| PARAM_VALUE | 0 | r->res_nodeid | (-1)-0 |
| PARAM_VALUE | 0 | r->res_ref.refcount.refs.counter | 1 |
| FUZZY_MAX | 0 | r->res_nodeid | 0 |
| NOSPEC | 0 | r->res_length | |
| HARD_MAX | 0 | r->res_nodeid | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | r->res_hash | 0-u32max |
| USER_DATA | 0 | r->res_length | 0-64[c] |
| 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 |
fs/dlm/lock.c find_rsb_nodir() -> dlm_free_rsb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| PARAM_VALUE | 0 | r->res_length | s32min-64 |
| PARAM_VALUE | 0 | r->res_ls | s64min-(-4096),4096-s64max |
| PARAM_VALUE | 0 | r->res_ref.refcount.refs.counter | 1 |
| NOSPEC | 0 | r->res_length | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | r->res_hash | 0-u32max |
| USER_DATA | 0 | r->res_length | 0-64[c] |
| 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 |
fs/dlm/lock.c free_inactive_rsb() -> dlm_free_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_masters_list.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/lockspace.c rhash_free_rsb() -> dlm_free_rsb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | r | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &ct_priv->control_lock | ||
| HALF_LOCKED2 | &devlink->lock | ||
| HALF_LOCKED2 | &efx->tc->mutex | ||
| HALF_LOCKED2 | global &pernet_ops_rwsem |