Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/iommu/iova.c __free_iova() -> remove_iova()

Type Parameter Key Value
PARAM_VALUE 0 iovad 4096-ptr_max
DATA_SOURCE 0 iovad $0
DATA_SOURCE 1 iova $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 iova->pfn_lo 0-u64max[c]
LOCK2 flags
LOCK2 0 &iovad->iova_rbtree_lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct iova_domain)->iova_rbtree_lock

drivers/iommu/iova.c free_iova() -> remove_iova()

Type Parameter Key Value
PARAM_VALUE 0 iovad 4096-ptr_max
PARAM_VALUE 0 iovad->rbroot.rb_node 1-u64max
PARAM_VALUE 1 iova 4096-ptr_max
BUF_SIZE 0 iovad (-1),192
BUF_SIZE 0 iovad (-1),192
CAPPED_DATA 1 iova->pfn_lo 1
DATA_SOURCE 0 iovad $0
DATA_SOURCE 1 iova r private_find_iova
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 iovad->max32_alloc_size 32-u64max[c]
USER_DATA 0 iovad->max32_alloc_size 32-u64max[c]
LOCK2 flags
LOCK2 0 &iovad->iova_rbtree_lock
TYPE_LOCK (struct iova_domain)->iova_rbtree_lock

drivers/iommu/iova.c iova_magazine_free_pfns() -> remove_iova()

Type Parameter Key Value
PARAM_VALUE 0 iovad 4096-ptr_max
PARAM_VALUE 0 iovad->rbroot.rb_node 1-u64max
PARAM_VALUE 1 iova 4096-ptr_max
CAPPED_DATA 1 iova->pfn_lo 1
DATA_SOURCE 0 iovad $1
DATA_SOURCE 1 iova r private_find_iova
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 iovad->max32_alloc_size 32-u64max[c]
LOCK2 flags
LOCK2 0 &iovad->iova_rbtree_lock
HALF_LOCKED2 &cpu_rcache->lock
HALF_LOCKED2 &rcache->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct iova_domain)->iova_rbtree_lock