Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/infiniband/hw/mlx5/umr.c ib_umem_odp_num_pages() -> ib_umem_end()

Type Parameter Key Value
PARAM_VALUE 0 umem_odp 4096-ptr_max
DATA_SOURCE 0 umem_odp $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &odp_imr->umem_mutex
HALF_LOCKED2 &umem_odp->umem_mutex

drivers/infiniband/hw/mlx5/odp.c mlx5_ib_invalidate_range() -> ib_umem_end()

Type Parameter Key Value
PARAM_VALUE 0 umem_odp 4096-ptr_max
CAPPED_DATA 0 &umem_odp->umem_mutex 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &umem_odp->umem_mutex
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct ib_umem_odp)->umem_mutex

drivers/infiniband/hw/mlx5/odp.c pagefault_implicit_mr() -> ib_umem_end()

Type Parameter Key Value
PARAM_VALUE 0 umem_odp 4096-ptr_max
DATA_SOURCE 0 umem_odp r to_ib_umem_odp
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/infiniband/hw/mlx5/odp.c pagefault_mr() -> ib_umem_end()

Type Parameter Key Value
PARAM_VALUE 0 umem_odp 4096-ptr_max
DATA_SOURCE 0 umem_odp r to_ib_umem_odp
RX_PATH
NO_OVERFLOW_SIMPLE 0 umem_odp->umem.address
HALF_LOCKED2 &pool->lock

drivers/infiniband/hw/mlx5/odp.c pagefault_mr() -> ib_umem_end()

Type Parameter Key Value
PARAM_VALUE 0 umem_odp 4096-ptr_max
DATA_SOURCE 0 umem_odp r to_ib_umem_odp
RX_PATH
NO_OVERFLOW_SIMPLE 0 umem_odp->umem.address
HALF_LOCKED2 &pool->lock

drivers/infiniband/hw/mlx5/odp.c pagefault_mr() -> ib_umem_end()

Type Parameter Key Value
PARAM_VALUE 0 umem_odp 4096-ptr_max
DATA_SOURCE 0 umem_odp r to_ib_umem_odp
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 umem_odp->umem.address
HALF_LOCKED2 &pool->lock

drivers/infiniband/hw/mlx5/odp.c pagefault_mr() -> ib_umem_end()

Type Parameter Key Value
PARAM_VALUE 0 umem_odp 4096-ptr_max
DATA_SOURCE 0 umem_odp r to_ib_umem_odp
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 umem_odp->umem.address
HALF_LOCKED2 &pool->lock

drivers/infiniband/core/umem_odp.c ib_umem_odp_free() -> ib_umem_end()

Type Parameter Key Value
PARAM_VALUE 0 umem_odp 4096-ptr_max
BUF_SIZE 0 umem_odp (-1),400
BUF_SIZE 0 umem_odp (-1),400
BUF_SIZE 0 umem_odp->umem.ibdev (-1),5000
CAPPED_DATA 0 &umem_odp->umem_mutex 1
DATA_SOURCE 0 umem_odp $0
NOSPEC 0 umem_odp->umem.address
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 umem_odp->notifier.interval_tree.__subtree_last 0-u64max[c]
USER_DATA 0 umem_odp->notifier.interval_tree.start 0-u64max
USER_DATA 0 umem_odp->umem.address 0-u64max
USER_DATA 0 umem_odp->umem.length 0-u64max
USER_DATA 0 umem_odp->umem.writable 0-1[c]
LOCK2 0 &umem_odp->umem_mutex
TYPE_LOCK (struct ib_umem_odp)->umem_mutex

drivers/infiniband/core/umem_odp.c ib_umem_odp_map_dma_and_lock() -> ib_umem_end()

Type Parameter Key Value
PARAM_VALUE 0 umem_odp 4096-ptr_max
DATA_SOURCE 0 umem_odp $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 umem_odp->umem.address

drivers/infiniband/core/umem_odp.c ib_umem_odp_unmap_dma_pages() -> ib_umem_end()

Type Parameter Key Value
PARAM_VALUE 0 umem_odp 4096-ptr_max
BUF_SIZE 0 umem_odp->umem.ibdev (-1),4936
DATA_SOURCE 0 umem_odp $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 umem_odp->notifier.interval_tree.__subtree_last 0-u64max[c]
USER_DATA 0 umem_odp->notifier.interval_tree.start 0-u64max
USER_DATA 0 umem_odp->umem.address 0-u64max
USER_DATA 0 umem_odp->umem.length 0-u64max
USER_DATA 0 umem_odp->umem.writable 0-1[c]
LOCK2 0 &umem_odp->umem_mutex
TYPE_LOCK (struct ib_umem_odp)->umem_mutex

drivers/infiniband/sw/rxe/rxe_odp.c rxe_ib_invalidate_range() -> ib_umem_end()

Type Parameter Key Value
PARAM_VALUE 0 umem_odp 4096-ptr_max
CAPPED_DATA 0 &umem_odp->umem_mutex 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &umem_odp->umem_mutex
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct ib_umem_odp)->umem_mutex