mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
drm: Pass struct drm_file * to __drm_mode_object_find [v2]
This will allow __drm_mode_object_file to be extended to perform access control checks based on the file in use. v2: Also fix up vboxvideo driver in staging [airlied: merging early as this is an API change] Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
committed by
Dave Airlie
parent
bb7a9c8d71
commit
418da17214
@@ -105,6 +105,7 @@ void drm_mode_object_unregister(struct drm_device *dev,
|
||||
}
|
||||
|
||||
struct drm_mode_object *__drm_mode_object_find(struct drm_device *dev,
|
||||
struct drm_file *file_priv,
|
||||
uint32_t id, uint32_t type)
|
||||
{
|
||||
struct drm_mode_object *obj = NULL;
|
||||
@@ -127,7 +128,7 @@ struct drm_mode_object *__drm_mode_object_find(struct drm_device *dev,
|
||||
|
||||
/**
|
||||
* drm_mode_object_find - look up a drm object with static lifetime
|
||||
* @dev: drm device
|
||||
* @file_priv: drm file
|
||||
* @id: id of the mode object
|
||||
* @type: type of the mode object
|
||||
*
|
||||
@@ -136,11 +137,12 @@ struct drm_mode_object *__drm_mode_object_find(struct drm_device *dev,
|
||||
* by callind drm_mode_object_put().
|
||||
*/
|
||||
struct drm_mode_object *drm_mode_object_find(struct drm_device *dev,
|
||||
struct drm_file *file_priv,
|
||||
uint32_t id, uint32_t type)
|
||||
{
|
||||
struct drm_mode_object *obj = NULL;
|
||||
|
||||
obj = __drm_mode_object_find(dev, id, type);
|
||||
obj = __drm_mode_object_find(dev, file_priv, id, type);
|
||||
return obj;
|
||||
}
|
||||
EXPORT_SYMBOL(drm_mode_object_find);
|
||||
@@ -359,7 +361,7 @@ int drm_mode_obj_get_properties_ioctl(struct drm_device *dev, void *data,
|
||||
|
||||
drm_modeset_lock_all(dev);
|
||||
|
||||
obj = drm_mode_object_find(dev, arg->obj_id, arg->obj_type);
|
||||
obj = drm_mode_object_find(dev, file_priv, arg->obj_id, arg->obj_type);
|
||||
if (!obj) {
|
||||
ret = -ENOENT;
|
||||
goto out;
|
||||
@@ -481,7 +483,7 @@ int drm_mode_obj_set_property_ioctl(struct drm_device *dev, void *data,
|
||||
if (!drm_core_check_feature(dev, DRIVER_MODESET))
|
||||
return -EINVAL;
|
||||
|
||||
arg_obj = drm_mode_object_find(dev, arg->obj_id, arg->obj_type);
|
||||
arg_obj = drm_mode_object_find(dev, file_priv, arg->obj_id, arg->obj_type);
|
||||
if (!arg_obj)
|
||||
return -ENOENT;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user