diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2019-12-04 18:06:28 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2019-12-04 18:06:28 +0000 |
commit | 126d5de38542d47d5d8385ce374e33c2a7f34e51 (patch) | |
tree | bc4b4b007951a705a553ca8aabdf2fe425f6e169 /drivers/gpu/drm/i915/gem/i915_gem_mman.c | |
parent | 780ccb5a5a43a7787b7cbdc49f7660232fd26aaf (diff) | |
download | linux-126d5de38542d47d5d8385ce374e33c2a7f34e51.tar.bz2 |
drm/i915/gem: Hook user-extensions upto MMAP_OFFSET_IOCTL
Call i915_user_extensions() to validate the arg->extensions pointer, and
so return consistent error numbers for the future.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191204162803.3841140-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/gem/i915_gem_mman.c')
-rw-r--r-- | drivers/gpu/drm/i915/gem/i915_gem_mman.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c index 37aabbfa869a..3a3f30bc8ac7 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c @@ -17,6 +17,7 @@ #include "i915_gem_object.h" #include "i915_gem_mman.h" #include "i915_trace.h" +#include "i915_user_extensions.h" #include "i915_vma.h" static inline bool @@ -617,9 +618,12 @@ i915_gem_mmap_offset_ioctl(struct drm_device *dev, void *data, struct drm_i915_private *i915 = to_i915(dev); struct drm_i915_gem_mmap_offset *args = data; enum i915_mmap_type type; + int err; - if (args->extensions) - return -EINVAL; + err = i915_user_extensions(u64_to_user_ptr(args->extensions), + NULL, 0, NULL); + if (err) + return err; switch (args->flags) { case I915_MMAP_OFFSET_GTT: |