Defined in 2 files as a function:

Referenced in 9 files:

Smatch caller information:

drivers/misc/ntsync.c ntsync_wait_all() -> put_obj()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
NOCHECK_CALL
UNITS 0 obj unit_byte
LOCK2 &dev->wait_all_lock
TYPE_LOCK (struct ntsync_device)->wait_all_lock

drivers/misc/ntsync.c ntsync_wait_all() -> put_obj()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->all_hint.counter 0-1
PARAM_VALUE 0 obj->dev_locked 0-1
PARAM_VALUE 0 obj->lock.rlock.dep_map->name 0-255
NOCHECK_CALL
UNITS 0 obj unit_byte
HALF_LOCKED2 &dev->wait_all_lock

drivers/misc/ntsync.c ntsync_wait_any() -> put_obj()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->all_hint.counter 0-1
PARAM_VALUE 0 obj->dev_locked 0-1
PARAM_VALUE 0 obj->lock.rlock.dep_map->name 0-255
NOCHECK_CALL
UNITS 0 obj unit_byte
HALF_LOCKED2 &dev->wait_all_lock

drivers/misc/ntsync.c setup_wait() -> put_obj()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
BUF_SIZE 0 obj s32min-(-2),1-s32max
BUF_SIZE 0 obj s32min-(-2),1-s32max
CAPPED_DATA 0 obj 1
CAPPED_DATA 0 obj->dev 1
DATA_SOURCE 0 obj r get_obj
NOCHECK_CALL
UNITS 0 obj unit_byte

drivers/misc/ntsync.c setup_wait() -> put_obj()

Type Parameter Key Value
NOCHECK_CALL
UNITS 0 obj unit_byte

drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c __amdgpu_ras_feature_enable() -> put_obj()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->use s32min-(-1),1-s32max
DATA_SOURCE 0 obj r amdgpu_ras_find_obj
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c amdgpu_ras_fs_fini() -> put_obj()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->use s32min-(-1),1-s32max
DATA_SOURCE 0 obj r amdgpu_ras_find_obj
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &component_mutex
HALF_LOCKED2 global &xenwatch_mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c amdgpu_ras_interrupt_add_handler() -> put_obj()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->ih_data.aligned_element_size 0,8-u32max
PARAM_VALUE 0 obj->ih_data.ring 0
PARAM_VALUE 0 obj->ih_data.ring_size 1-u32max
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 obj->adev->bios_size
NO_OVERFLOW_SIMPLE 0 obj->adev->mman.default_entity.base.num_sched_list
NO_OVERFLOW_SIMPLE 0 obj->adev->mman.num_clear_entities
NO_OVERFLOW_SIMPLE 0 obj->adev->nbio.ras_controller_irq.num_types
NO_OVERFLOW_SIMPLE 0 obj->adev->nbio.ras_err_event_athub_irq.num_types
NO_OVERFLOW_SIMPLE 0 obj->adev->rmmio_size
NO_OVERFLOW_SIMPLE 0 obj->adev->umc.retire_unit

drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c amdgpu_ras_interrupt_remove_handler() -> put_obj()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->ih_data.ih_work.lockdep_map->name 0-255
PARAM_VALUE 0 obj->ih_data.inuse 0
PARAM_VALUE 0 obj->ih_data.ring 0
PARAM_VALUE 0 obj->use s32min-(-1),1-s32max
DATA_SOURCE 0 obj r amdgpu_ras_find_obj
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c amdgpu_ras_sysfs_create() -> put_obj()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->attr_inuse 0
DATA_SOURCE 0 obj r amdgpu_ras_find_obj
STR_LEN 0 obj->fs_data.sysfs_name 47
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c amdgpu_ras_sysfs_remove() -> put_obj()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->attr_inuse 0
PARAM_VALUE 0 obj->use s32min-(-1),1-s32max
DATA_SOURCE 0 obj r amdgpu_ras_find_obj
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL