Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/xen/gntdev.c __unmap_grant_pages_done() -> gntdev_put_map()

Type Parameter Key Value
PARAM_VALUE 0 priv 0
PARAM_VALUE 1 map 4096-ptr_max
BUF_SIZE 1 map (-1),1-s32max
BUF_SIZE 1 map (-1),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 map unit_byte

drivers/xen/gntdev.c gntdev_ioctl_map_grant_ref() -> gntdev_put_map()

Type Parameter Key Value
PARAM_VALUE 0 priv 0
PARAM_VALUE 1 map 4096-ptr_max
PARAM_VALUE 1 map->being_removed 16,4096-ptr_max
PARAM_VALUE 1 map->count 1-65536
PARAM_VALUE 1 map->dma_flags 0
PARAM_VALUE 1 map->grants 4096-ptr_max
PARAM_VALUE 1 map->index 0
PARAM_VALUE 1 map->map_ops 4096-ptr_max
PARAM_VALUE 1 map->pages 16,4096-ptr_max
PARAM_VALUE 1 map->unmap_ops 4096-ptr_max
PARAM_VALUE 1 map->users.refs.counter 1
PARAM_VALUE 1 *map->pages 4096-ptr_max
BUF_SIZE 1 map 496
CAPPED_DATA 1 map->count 1
DATA_SOURCE 1 map r gntdev_alloc_map
NOSPEC 1 map->count
NOCHECK_CALL
USER_DATA 1 map->count 2-65536[c]
USER_DATA 1 map->dma_flags 0
USER_DATA 1 map->grants->domid 0-u32max
USER_DATA 1 map->grants->ref 0-u32max
NO_OVERFLOW_SIMPLE 1 map->count
USER_PTR 1 map->grants

drivers/xen/gntdev.c gntdev_ioctl_map_grant_ref() -> gntdev_put_map()

Type Parameter Key Value
PARAM_VALUE 0 priv 4096-ptr_max
PARAM_VALUE 0 priv->dma_dev->cma_area->nranges s32min-s32max
PARAM_VALUE 0 priv->lock.dep_map->name 0-255
PARAM_VALUE 0 priv->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 priv->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 priv->lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 priv->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 priv->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 priv->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 priv->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 priv->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 priv->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 priv->maps.prev 4096-ptr_max
PARAM_VALUE 0 priv->maps.prev->next 4096-ptr_max
PARAM_VALUE 0 priv->maps.prev->next->next 4096-ptr_max
PARAM_VALUE 1 map 4096-ptr_max
PARAM_VALUE 1 map->being_removed 16,4096-ptr_max
PARAM_VALUE 1 map->count 1-65536
PARAM_VALUE 1 map->dma_flags 0
PARAM_VALUE 1 map->grants 4096-ptr_max
PARAM_VALUE 1 map->map_ops 4096-ptr_max
PARAM_VALUE 1 map->pages 16,4096-ptr_max
PARAM_VALUE 1 map->unmap_ops 4096-ptr_max
PARAM_VALUE 1 map->users.refs.counter 1
PARAM_VALUE 1 *map->pages 4096-ptr_max
BUF_SIZE 0 priv s32min-(-2),1-s32max
BUF_SIZE 0 priv s32min-(-2),1-s32max
BUF_SIZE 1 map 496
CAPPED_DATA 0 &priv->lock 1
CAPPED_DATA 1 map->count 1
DATA_SOURCE 0 priv $0
DATA_SOURCE 1 map r gntdev_alloc_map
NOSPEC 1 map->count
NOCHECK_CALL
USER_DATA 1 map->count 2-65536[c]
USER_DATA 1 map->dma_flags 0
USER_DATA 1 map->grants->domid 0-u32max
USER_DATA 1 map->grants->ref 0-u32max
NO_OVERFLOW_SIMPLE 1 map->count
USER_PTR 1 map->grants

drivers/xen/gntdev.c gntdev_ioctl_unmap_grant_ref() -> gntdev_put_map()

Type Parameter Key Value
PARAM_VALUE 0 priv 4096-ptr_max
PARAM_VALUE 0 priv->lock.dep_map->name 0-255
PARAM_VALUE 0 priv->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 priv->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 priv->lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 priv->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 priv->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 priv->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 priv->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 priv->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 priv->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 map 4096-ptr_max
BUF_SIZE 0 priv s32min-(-2),1-s32max
BUF_SIZE 0 priv s32min-(-2),1-s32max
CAPPED_DATA 0 &priv->lock 1
CAPPED_DATA 1 map->index 1
DATA_SOURCE 0 priv $0
DATA_SOURCE 1 map r gntdev_find_map_index
NOCHECK_CALL

drivers/xen/gntdev.c gntdev_mmap() -> gntdev_put_map()

Type Parameter Key Value
PARAM_VALUE 0 priv 4096-ptr_max
PARAM_VALUE 0 priv->lock.dep_map->name 0-255
PARAM_VALUE 0 priv->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 priv->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 priv->lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 priv->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 priv->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 priv->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 priv->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 priv->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 priv->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 map 4096-ptr_max
PARAM_VALUE 1 map->flags s32min-(-1),1-s32max
PARAM_VALUE 1 map->in_use.counter 0-s32max
PARAM_VALUE 1 map->notifier.ops->invalidate 0,4096-ptr_max
PARAM_VALUE 1 map->notifier.ops->invalidate_finish 0,2193403108630056960
PARAM_VALUE 1 map->notifier.ops->invalidate_start 0,7606346720449052672
BUF_SIZE 0 priv (-1),1216
BUF_SIZE 0 priv (-1),1216
CAPPED_DATA 0 &priv->lock 1
CAPPED_DATA 1 map->index 1
DATA_SOURCE 1 map r gntdev_find_map_index
NOSPEC 1 map->notifier.interval_tree.start
NOSPEC 1 map->pages_vm_start
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 map->notifier.interval_tree.__subtree_last 0-u64max[c]
USER_DATA 1 map->notifier.interval_tree.start 0-u64max
USER_DATA 1 map->pages_vm_start 0-18446744073709547520
HALF_LOCKED2 &ipcp->lock

drivers/xen/gntdev.c gntdev_release() -> gntdev_put_map()

Type Parameter Key Value
PARAM_VALUE 0 priv 0
PARAM_VALUE 1 map 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &priv->lock
TYPE_LOCK (struct gntdev_priv)->lock

drivers/xen/gntdev.c gntdev_vma_close() -> gntdev_put_map()

Type Parameter Key Value
BUF_SIZE 0 priv s32min-(-2),1-s32max
BUF_SIZE 0 priv s32min-(-2),1-s32max
BUF_SIZE 1 map (-1),1-s32max
BUF_SIZE 1 map (-1),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 map unit_byte

drivers/xen/gntdev-dmabuf.c dmabuf_exp_remove_map() -> gntdev_put_map()

Type Parameter Key Value
PARAM_VALUE 0 priv 0
PARAM_VALUE 1 map 4096-ptr_max
BUF_SIZE 1 map (-1),496
BUF_SIZE 1 map (-1),496
DATA_SOURCE 1 map $1
NOSPEC 1 map->count
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 map->count 2-65536[c]
USER_DATA 1 map->dma_flags s32min-s32max
NO_OVERFLOW_SIMPLE 1 map->count
LOCK2 &priv->lock
TYPE_LOCK (struct gntdev_priv)->lock