Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/gpu/drm/drm_file.c drm_open() -> drm_dev_needs_global_mutex()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte

drivers/gpu/drm/drm_file.c drm_open() -> drm_dev_needs_global_mutex()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->driver 4096-ptr_max
PARAM_VALUE 0 dev->driver->load 0
PARAM_VALUE 0 dev->driver->unload 0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 global &drm_global_mutex

drivers/gpu/drm/drm_file.c drm_open() -> drm_dev_needs_global_mutex()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->driver 4096-ptr_max
PARAM_VALUE 0 dev->driver->load 0
PARAM_VALUE 0 dev->driver->unload 0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 global &drm_global_mutex

drivers/gpu/drm/drm_file.c drm_release() -> drm_dev_needs_global_mutex()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte

drivers/gpu/drm/drm_file.c drm_release() -> drm_dev_needs_global_mutex()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->driver 4096-ptr_max
PARAM_VALUE 0 dev->driver->load 0
PARAM_VALUE 0 dev->driver->unload 0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 global &drm_global_mutex

drivers/gpu/drm/drm_drv.c drm_dev_register() -> drm_dev_needs_global_mutex()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->driver 4096-ptr_max
BUF_SIZE 0 dev s32min-(-1),1-s32max
BUF_SIZE 0 dev s32min-(-1),1-s32max
BUF_SIZE 0 dev->dev_private s32min-(-1),1-s32max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 dev->clientlist_mutex.osq.tail.counter s32min-s32max
HOST_DATA 0 dev->clientlist_mutex.owner.counter s64min-s64max
HOST_DATA 0 dev->driver_features 0-u32max
HOST_DATA 0 dev->filelist_mutex.osq.tail.counter s32min-s32max
HOST_DATA 0 dev->filelist_mutex.owner.counter s64min-s64max
HOST_DATA 0 dev->gem_lru_mutex.osq.tail.counter s32min-s32max
HOST_DATA 0 dev->gem_lru_mutex.owner.counter s64min-s64max
HOST_DATA 0 dev->if_version s32min-s32max
HOST_DATA 0 dev->master_mutex.osq.tail.counter s32min-s32max
HOST_DATA 0 dev->master_mutex.owner.counter s64min-s64max
HOST_DATA 0 dev->max_vblank_count 0-u32max
HOST_DATA 0 dev->mode_config.async_page_flip 0-1
HOST_DATA 0 dev->mode_config.connection_mutex.mutex.base.osq.tail.counter s32min-s32max
HOST_DATA 0 dev->mode_config.connection_mutex.mutex.base.owner.counter s64min-s64max
HOST_DATA 0 dev->mode_config.connector_free_work.data.counter s64min-s64max
HOST_DATA 0 dev->mode_config.connector_ida.xa.xa_flags 0-u32max
HOST_DATA 0 dev->mode_config.cursor_height 0-u32max
HOST_DATA 0 dev->mode_config.cursor_width 0-u32max
HOST_DATA 0 dev->mode_config.delayed_event 0-1
HOST_DATA 0 dev->mode_config.fb_modifiers_not_supported 0-1
HOST_DATA 0 dev->mode_config.normalize_zpos 0-1
HOST_DATA 0 dev->mode_config.output_poll_work.cpu s32min-s32max
HOST_DATA 0 dev->mode_config.output_poll_work.timer.expires 0-u64max
HOST_DATA 0 dev->mode_config.output_poll_work.timer.flags 0-u32max
HOST_DATA 0 dev->mode_config.output_poll_work.work.data.counter s64min-s64max
HOST_DATA 0 dev->mode_config.panic_lock.magic 0-u32max
HOST_DATA 0 dev->mode_config.panic_lock.owner_cpu 0-u32max
HOST_DATA 0 dev->mode_config.panic_lock.raw_lock.locked 0-255
HOST_DATA 0 dev->mode_config.panic_lock.raw_lock.locked_pending 0-u16max
HOST_DATA 0 dev->mode_config.panic_lock.raw_lock.pending 0-255
HOST_DATA 0 dev->mode_config.panic_lock.raw_lock.tail 0-u16max
HOST_DATA 0 dev->mode_config.panic_lock.raw_lock.val.counter s32min-s32max
HOST_DATA 0 dev->mode_config.poll_enabled 0-1
HOST_DATA 0 dev->mode_config.poll_running 0-1
HOST_DATA 0 dev->mode_config.prefer_shadow 0-u32max
HOST_DATA 0 dev->mode_config.quirk_addfb_prefer_host_byte_order 0-1
HOST_DATA 0 dev->mode_config.quirk_addfb_prefer_xbgr_30bpp 0-1
HOST_DATA 0 dev->num_crtcs 0-u32max
HOST_DATA 0 dev->object_name_idr.idr_base 0-u32max
HOST_DATA 0 dev->object_name_idr.idr_next 0-u32max
HOST_DATA 0 dev->object_name_idr.idr_rt.xa_flags 0-u32max
HOST_DATA 0 dev->object_name_lock.osq.tail.counter s32min-s32max
HOST_DATA 0 dev->object_name_lock.owner.counter s64min-s64max
HOST_DATA 0 dev->open_count.counter s32min-s32max
HOST_DATA 0 dev->ref.refcount.refs.counter s32min-s32max
HOST_DATA 0 dev->registered 0-1
HOST_DATA 0 dev->switch_power_state 0-u32max
HOST_DATA 0 dev->unplugged 0-1
HOST_DATA 0 dev->vblank_disable_immediate 0-1
NO_OVERFLOW_SIMPLE 0 dev->num_crtcs
UNITS 0 dev unit_byte
HALF_LOCKED2 global &component_mutex
HALF_LOCKED2 global &xenwatch_mutex

drivers/gpu/drm/drm_drv.c drm_dev_register() -> drm_dev_needs_global_mutex()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->driver 4096-ptr_max
PARAM_VALUE 0 dev->driver->unload 0
BUF_SIZE 0 dev s32min-(-1),1-s32max
BUF_SIZE 0 dev s32min-(-1),1-s32max
BUF_SIZE 0 dev->dev_private s32min-(-1),1-s32max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 dev->clientlist_mutex.osq.tail.counter s32min-s32max
HOST_DATA 0 dev->clientlist_mutex.owner.counter s64min-s64max
HOST_DATA 0 dev->driver_features 0-u32max
HOST_DATA 0 dev->filelist_mutex.osq.tail.counter s32min-s32max
HOST_DATA 0 dev->filelist_mutex.owner.counter s64min-s64max
HOST_DATA 0 dev->gem_lru_mutex.osq.tail.counter s32min-s32max
HOST_DATA 0 dev->gem_lru_mutex.owner.counter s64min-s64max
HOST_DATA 0 dev->if_version s32min-s32max
HOST_DATA 0 dev->master_mutex.osq.tail.counter s32min-s32max
HOST_DATA 0 dev->master_mutex.owner.counter s64min-s64max
HOST_DATA 0 dev->max_vblank_count 0-u32max
HOST_DATA 0 dev->mode_config.async_page_flip 0-1
HOST_DATA 0 dev->mode_config.connection_mutex.mutex.base.osq.tail.counter s32min-s32max
HOST_DATA 0 dev->mode_config.connection_mutex.mutex.base.owner.counter s64min-s64max
HOST_DATA 0 dev->mode_config.connector_free_work.data.counter s64min-s64max
HOST_DATA 0 dev->mode_config.connector_ida.xa.xa_flags 0-u32max
HOST_DATA 0 dev->mode_config.cursor_height 0-u32max
HOST_DATA 0 dev->mode_config.cursor_width 0-u32max
HOST_DATA 0 dev->mode_config.delayed_event 0-1
HOST_DATA 0 dev->mode_config.fb_modifiers_not_supported 0-1
HOST_DATA 0 dev->mode_config.normalize_zpos 0-1
HOST_DATA 0 dev->mode_config.output_poll_work.cpu s32min-s32max
HOST_DATA 0 dev->mode_config.output_poll_work.timer.expires 0-u64max
HOST_DATA 0 dev->mode_config.output_poll_work.timer.flags 0-u32max
HOST_DATA 0 dev->mode_config.output_poll_work.work.data.counter s64min-s64max
HOST_DATA 0 dev->mode_config.panic_lock.magic 0-u32max
HOST_DATA 0 dev->mode_config.panic_lock.owner_cpu 0-u32max
HOST_DATA 0 dev->mode_config.panic_lock.raw_lock.locked 0-255
HOST_DATA 0 dev->mode_config.panic_lock.raw_lock.locked_pending 0-u16max
HOST_DATA 0 dev->mode_config.panic_lock.raw_lock.pending 0-255
HOST_DATA 0 dev->mode_config.panic_lock.raw_lock.tail 0-u16max
HOST_DATA 0 dev->mode_config.panic_lock.raw_lock.val.counter s32min-s32max
HOST_DATA 0 dev->mode_config.poll_enabled 0-1
HOST_DATA 0 dev->mode_config.poll_running 0-1
HOST_DATA 0 dev->mode_config.prefer_shadow 0-u32max
HOST_DATA 0 dev->mode_config.quirk_addfb_prefer_host_byte_order 0-1
HOST_DATA 0 dev->mode_config.quirk_addfb_prefer_xbgr_30bpp 0-1
HOST_DATA 0 dev->num_crtcs 0-u32max
HOST_DATA 0 dev->object_name_idr.idr_base 0-u32max
HOST_DATA 0 dev->object_name_idr.idr_next 0-u32max
HOST_DATA 0 dev->object_name_idr.idr_rt.xa_flags 0-u32max
HOST_DATA 0 dev->object_name_lock.osq.tail.counter s32min-s32max
HOST_DATA 0 dev->object_name_lock.owner.counter s64min-s64max
HOST_DATA 0 dev->open_count.counter s32min-s32max
HOST_DATA 0 dev->ref.refcount.refs.counter s32min-s32max
HOST_DATA 0 dev->registered 0-1
HOST_DATA 0 dev->switch_power_state 0-u32max
HOST_DATA 0 dev->vblank_disable_immediate 0-1
NO_OVERFLOW_SIMPLE 0 dev->num_crtcs
UNITS 0 dev unit_byte
HALF_LOCKED2 global &component_mutex
HALF_LOCKED2 global &drm_global_mutex
HALF_LOCKED2 global &xenwatch_mutex