Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/infiniband/core/rdma_core.c __uverbs_cleanup_ufile() -> uverbs_try_lock_object()

Type Parameter Key Value
PARAM_VALUE 0 uobj 4096-ptr_max
PARAM_VALUE 1 mode 1
CAPPED_DATA 0 &uobj->list 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ufile->hw_destroy_rwsem
TYPE_LOCK (struct ib_uverbs_file)->hw_destroy_rwsem

drivers/infiniband/core/rdma_core.c rdma_lookup_get_uobject() -> uverbs_try_lock_object()

Type Parameter Key Value
PARAM_VALUE 0 uobj 4096-ptr_max
PARAM_VALUE 1 mode 0-2
BUF_SIZE 0 uobj s32min-(-1),1-s32max
BUF_SIZE 0 uobj s32min-(-1),1-s32max
BUF_SIZE 0 uobj->ufile s32min-(-1),1-s32max
CAPPED_DATA 0 uobj->uapi_object 1
DATA_SOURCE 1 mode $3
HARD_MAX 1 mode 2
HALF_LOCKED2 &ufile->device->disassociate_srcu

drivers/infiniband/core/rdma_core.c uobj_destroy() -> uverbs_try_lock_object()

Type Parameter Key Value
PARAM_VALUE 1 mode 1
BUF_SIZE 0 uobj s32min-(-1),1-s32max
BUF_SIZE 0 uobj s32min-(-1),1-s32max
DATA_SOURCE 0 uobj $0
LOCK2 &ufile->hw_destroy_rwsem
HALF_LOCKED2 &ufile->device->disassociate_srcu
TYPE_LOCK (struct ib_uverbs_file)->hw_destroy_rwsem

drivers/infiniband/core/rdma_core.c uverbs_uobject_release() -> uverbs_try_lock_object()

Type Parameter Key Value
PARAM_VALUE 0 uobj 4096-ptr_max
PARAM_VALUE 1 mode 1
BUF_SIZE 0 uobj (-1),26
BUF_SIZE 0 uobj (-1),26
DATA_SOURCE 0 uobj $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ufile->hw_destroy_rwsem
TYPE_LOCK (struct ib_uverbs_file)->hw_destroy_rwsem

drivers/infiniband/hw/mlx5/devx.c mlx5_ib_ufile_hw_cleanup() -> uverbs_try_lock_object()

Type Parameter Key Value
PARAM_VALUE 0 uobj 4096-ptr_max
PARAM_VALUE 1 mode 1
CAPPED_DATA 0 &uobj->list 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ufile->hw_destroy_rwsem
TYPE_LOCK (struct ib_uverbs_file)->hw_destroy_rwsem