Re: [PATCH] drm/i915/gem: Hook user-extensions upto MMAP_OFFSET_IOCTL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Matthew Auld (2019-12-04 16:52:12)
> On Wed, 4 Dec 2019 at 16:29, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote:
> >
> > From: Chris Wilson <ickle@xxxxxxxxxxxxxxxxxxxxxxxx>
> >
> > 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@xxxxxxxxxxxxxxxxxx>
> > Cc: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx>
> > Cc: Matthew Auld <matthew.auld@xxxxxxxxx>
> > ---
> >  drivers/gpu/drm/i915/gem/i915_gem_mman.c | 8 ++++++--
> >  1 file 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;
> 
> Don't we have to check get_user first on the ptr?

No, it's checked by i915_user_extensions(). It's a bit redundant in the
other callers :) Since the first thing we do is while (ext).

I have some memory of starting out with NULL being an error for
i915_user_extensions, but we settled on while(ext) for a compact
non-recursive loop.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux