Documented in 1 files:

Defined in 1 files as a function:

Referenced in 20 files:

Smatch caller information:

drivers/gpu/drm/drm_client.c drm_client_buffer_create() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
DATA_SOURCE 0 fb r drm_framebuffer_lookup
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &client->modeset_mutex
HALF_LOCKED2 &up->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &target_list_lock
TYPE_LOCK (struct drm_client_dev)->modeset_mutex

drivers/gpu/drm/rockchip/rockchip_drm_fb.c rockchip_fb_create() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
PARAM_VALUE 0 fb->base.id 0-s32max
PARAM_VALUE 0 fb->base.type 4227595259
PARAM_VALUE 0 fb->dev 4096-ptr_max
PARAM_VALUE 0 fb->filp_head.next 4096-ptr_max
PARAM_VALUE 0 fb->filp_head.prev 4096-ptr_max
PARAM_VALUE 0 fb->flags 0-2
PARAM_VALUE 0 fb->format 4096-ptr_max
PARAM_VALUE 0 fb->funcs 8791900362683154432
PARAM_VALUE 0 fb->height 1-u32max
PARAM_VALUE 0 fb->width 1-u32max
NOSPEC 0 fb->height
NOSPEC 0 fb->width
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 fb->flags 0-2[u]
USER_DATA 0 fb->height 1-s32max[c]
USER_DATA 0 fb->modifier 0-u64max
USER_DATA 0 fb->width 1-s32max[c]
HALF_LOCKED2 &crtc->cursor->mutex
HALF_LOCKED2 &crtc->mutex

drivers/gpu/drm/i915/display/intel_plane.c intel_plane_clear_hw_state() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/i915/display/intel_plane.c intel_plane_destroy_state() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/drm_writeback.c drm_framebuffer_assign() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
NOCHECK_CALL

drivers/gpu/drm/drm_writeback.c drm_writeback_cleanup_job() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wb_connector->job_lock
HALF_LOCKED2 flags

drivers/gpu/drm/drm_atomic_uapi.c drm_atomic_connector_set_property() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
DATA_SOURCE 0 fb r drm_framebuffer_lookup
NOCHECK_CALL

drivers/gpu/drm/drm_atomic_uapi.c drm_atomic_plane_set_property() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
DATA_SOURCE 0 fb r drm_framebuffer_lookup
NOCHECK_CALL

drivers/gpu/drm/drm_atomic_uapi.c drm_framebuffer_assign() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &crtc->mutex
HALF_LOCKED2 &plane->mutex

drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c vmw_present_ioctl() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
DATA_SOURCE 0 fb r drm_framebuffer_lookup
NOCHECK_CALL
LOCK2 &dev->mode_config.mutex
TYPE_LOCK (struct drm_mode_config)->mutex

drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c vmw_present_readback_ioctl() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
DATA_SOURCE 0 fb r drm_framebuffer_lookup
NOCHECK_CALL
LOCK2 &dev->mode_config.mutex
TYPE_LOCK (struct drm_mode_config)->mutex

drivers/gpu/drm/tests/drm_framebuffer_test.c drm_test_framebuffer_lookup() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 0,4096-ptr_max
DATA_SOURCE 0 fb r drm_framebuffer_lookup
NOCHECK_CALL

drivers/gpu/drm/vc4/vc4_crtc.c vc4_async_page_flip_complete() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &crtc->mutex
HALF_LOCKED2 &plane->mutex
HALF_LOCKED2 &rq->lock
HALF_LOCKED2 &wf->mutex

drivers/gpu/drm/vc4/vc4_crtc.c vc4_async_page_flip_complete() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &crtc->mutex
HALF_LOCKED2 &plane->mutex
HALF_LOCKED2 &rq->lock
HALF_LOCKED2 &wf->mutex

drivers/gpu/drm/i915/display/intel_initial_plane.c plane_config_fini() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
PARAM_VALUE 0 fb->base.refcount.refcount.refs.counter s32min-(-1),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &display->drm->mode_config.mutex
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/drm_framebuffer.c drm_fb_release() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
PARAM_VALUE 0 fb->base.refcount.refcount.refs.counter 0-1
CAPPED_DATA 0 &fb->filp_head 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/drm_framebuffer.c drm_framebuffer_remove() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
PARAM_VALUE 0 fb->dev->mode_config.funcs->atomic_commit 0,1709437739929436160,3385958169767186432,9025212985888776192
PARAM_VALUE 0 fb->funcs->create_handle 0,136021296690790400,489985966628564992,1324109970670620672,2867967462721433600,3616651681677144064
PARAM_VALUE 0 fb->funcs->destroy 0,4096-ptr_max
PARAM_VALUE 0 fb->funcs->dirty 0,2907662053979725824,3676375001506254848,5202095228101689344,6546811231566618624,7307232787801481216,9046494490652217344
PARAM_VALUE 0 *fb->offsets 0-4294967295
PARAM_VALUE 0 *fb->pitches 0-4294967295
BUF_SIZE 0 fb (-1),8,192
BUF_SIZE 0 fb (-1),8,192
CAPPED_DATA 0 fb 1
CAPPED_DATA 0 &fb->filp_head 1
DATA_SOURCE 0 fb $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->clientlist_mutex
HALF_LOCKED2 &helper->lock

drivers/gpu/drm/drm_framebuffer.c drm_mode_closefb() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
PARAM_VALUE 0 fb->filp_head.next->prev 4096-ptr_max
PARAM_VALUE 0 fb->filp_head.prev->next 4096-ptr_max
CAPPED_DATA 0 fb 1
DATA_SOURCE 0 fb $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/drm_framebuffer.c drm_mode_closefb_ioctl() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
CAPPED_DATA 0 fb 1
DATA_SOURCE 0 fb r drm_framebuffer_lookup
NOCHECK_CALL

drivers/gpu/drm/drm_framebuffer.c drm_mode_dirtyfb_ioctl() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
PARAM_VALUE 0 fb->funcs 4096-ptr_max
PARAM_VALUE 0 fb->funcs->dirty 0,2907662053979725824,3676375001506254848,5202095228101689344,6546811231566618624,7307232787801481216,9046494490652217344
CAPPED_DATA 0 fb 1
DATA_SOURCE 0 fb r drm_framebuffer_lookup
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 fb->dev->mode_config.num_colorop
NO_OVERFLOW_SIMPLE 0 fb->dev->mode_config.num_crtc
NO_OVERFLOW_SIMPLE 0 fb->dev->mode_config.num_total_plane

drivers/gpu/drm/drm_framebuffer.c drm_mode_getfb() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
PARAM_VALUE 0 fb->format 4096-ptr_max
PARAM_VALUE 0 fb->funcs->create_handle 0,136021296690790400,489985966628564992,1324109970670620672,2867967462721433600,3616651681677144064
DATA_SOURCE 0 fb r drm_framebuffer_lookup
NOCHECK_CALL

drivers/gpu/drm/drm_framebuffer.c drm_mode_getfb2_ioctl() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
PARAM_VALUE 0 fb->format 4096-ptr_max
PARAM_VALUE 0 fb->funcs 4096-ptr_max
PARAM_VALUE 0 fb->funcs->create_handle 0,136021296690790400,489985966628564992,1324109970670620672,2867967462721433600,3616651681677144064
PARAM_VALUE 0 fb->obj 4096-ptr_max
DATA_SOURCE 0 fb r drm_framebuffer_lookup
NOCHECK_CALL

drivers/gpu/drm/drm_framebuffer.c drm_mode_rmfb() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
CAPPED_DATA 0 fb 1
DATA_SOURCE 0 fb r drm_framebuffer_lookup
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/drm_framebuffer.c drm_mode_rmfb() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
PARAM_VALUE 0 fb->base.base.id 0
PARAM_VALUE 0 fb->base.dev->mode_config.blob_lock.dep_map->name 0-255
PARAM_VALUE 0 fb->base.dev->mode_config.blob_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fb->base.dev->mode_config.blob_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 fb->base.dev->mode_config.blob_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 fb->base.dev->mode_config.blob_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 fb->base.dev->mode_config.idr_mutex.dep_map->name 0-255
PARAM_VALUE 0 fb->base.dev->mode_config.idr_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fb->base.dev->mode_config.idr_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 fb->base.dev->mode_config.idr_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 fb->base.dev->mode_config.idr_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 fb->base.dev->mode_config.object_idr.idr_rt.xa_flags 0-4294967295
PARAM_VALUE 0 fb->base.refcount.refcount.refs.counter 0-1
PARAM_VALUE 0 fb->filp_head.next->prev 4096-ptr_max
PARAM_VALUE 0 fb->filp_head.prev->next 4096-ptr_max
CAPPED_DATA 0 fb 1
DATA_SOURCE 0 fb r drm_framebuffer_lookup
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/vkms/vkms_writeback.c vkms_wb_cleanup_job() -> drm_framebuffer_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wb_connector->job_lock
HALF_LOCKED2 flags

drivers/gpu/drm/drm_plane.c __setplane_internal() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
NOCHECK_CALL
HALF_LOCKED2 &crtc->cursor->mutex
HALF_LOCKED2 &crtc->mutex

drivers/gpu/drm/drm_plane.c drm_mode_cursor_universal() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
NOCHECK_CALL
LOCK2 &crtc->cursor->mutex
LOCK2 &crtc->mutex
TYPE_LOCK (struct drm_crtc)->mutex
TYPE_LOCK (struct drm_plane)->mutex

drivers/gpu/drm/drm_plane.c drm_mode_page_flip_ioctl() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
DATA_SOURCE 0 fb r drm_framebuffer_lookup
NOCHECK_CALL
LOCK2 &crtc->mutex
LOCK2 &plane->mutex
TYPE_LOCK (struct drm_crtc)->mutex
TYPE_LOCK (struct drm_plane)->mutex

drivers/gpu/drm/drm_plane.c drm_mode_page_flip_ioctl() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
NOCHECK_CALL
HALF_LOCKED2 &crtc->mutex
HALF_LOCKED2 &plane->mutex

drivers/gpu/drm/drm_plane.c drm_mode_setplane() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
DATA_SOURCE 0 fb r drm_framebuffer_lookup
NOCHECK_CALL

drivers/gpu/drm/drm_plane.c drm_mode_setplane() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
DATA_SOURCE 0 fb r drm_framebuffer_lookup
NOCHECK_CALL

drivers/gpu/drm/drm_plane.c drm_plane_force_disable() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &client->modeset_mutex
HALF_LOCKED2 &dev->mode_config.mutex

drivers/gpu/drm/tiny/gm12u320.c gm12u320_copy_fb_to_blocks() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
PARAM_VALUE 0 fb->format 4096-ptr_max
PARAM_VALUE 0 fb->pitches 4096-ptr_max
CAPPED_DATA 0 fb->format->num_planes 1
NOCHECK_CALL
LOCK2 &gm12u320->fb_update.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct gm12u320_device)->fb_update.lock

drivers/gpu/drm/tiny/gm12u320.c gm12u320_fb_mark_dirty() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/tiny/gm12u320.c gm12u320_stop_fb_update() -> drm_framebuffer_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &state->dev->mode_config.connection_mutex
HALF_LOCKED2 &state->dev->mode_config.connection_mutex.mutex

drivers/gpu/drm/i915/display/intel_fbdev.c intel_fbdev_driver_fbdev_probe() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
PARAM_VALUE 0 fb->format 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->clientlist_mutex
LOCK2 &helper->lock
TYPE_LOCK (struct drm_device)->clientlist_mutex
TYPE_LOCK (struct drm_fb_helper)->lock

drivers/gpu/drm/drm_crtc.c __drm_mode_set_config_internal() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/drm_crtc.c drm_mode_setcrtc() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &dev->mode_config.connection_mutex
HALF_LOCKED2 &dev->mode_config.mutex

drivers/gpu/drm/drm_atomic_state_helper.c __drm_atomic_helper_plane_destroy_state() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/vkms/vkms_plane.c vkms_plane_destroy_state() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
PARAM_VALUE 0 fb->base.refcount.refcount.refs.counter s32min-(-1),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/rockchip/rockchip_drm_vop.c vop_fb_unref_worker() -> drm_framebuffer_put()

Type Parameter Key Value
DATA_SOURCE 0 fb $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/gud/gud_pipe.c gud_fb_queue_damage() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &drm_unplug_srcu
HALF_LOCKED2 irq

drivers/gpu/drm/gud/gud_pipe.c gud_flush_work() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 4096-ptr_max
PARAM_VALUE 0 fb->format 4096-ptr_max
NOCHECK_CALL
LOCK2 global &drm_unplug_srcu
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/gud/gud_pipe.c gud_plane_atomic_update() -> drm_framebuffer_put()

Type Parameter Key Value
PARAM_VALUE 0 fb 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &gdrm->damage_lock
HALF_LOCKED2 &vkms_output->lock
HALF_LOCKED2 irq
TYPE_LOCK (struct gud_device)->damage_lock