[PATCH] drm/xe: check mask in xe_wait_user_fence_ioctl()
Francois Dugast
francois.dugast at intel.com
Sat Dec 9 07:22:33 UTC 2023
On Fri, Dec 08, 2023 at 12:34:23PM +0000, Matthew Brost wrote:
> On Fri, Dec 08, 2023 at 02:34:27PM +0000, Francois Dugast wrote:
> > Check the drm_xe_wait_user_fence mask is one of the allowed values
> > DRM_XE_UFENCE_WAIT_MASK_* provided in xe_drm.h.
> >
> > Signed-off-by: Francois Dugast <francois.dugast at intel.com>
> > ---
> > drivers/gpu/drm/xe/xe_wait_user_fence.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/xe/xe_wait_user_fence.c b/drivers/gpu/drm/xe/xe_wait_user_fence.c
> > index 4d5c2555ce41..a73139fe3fe0 100644
> > --- a/drivers/gpu/drm/xe/xe_wait_user_fence.c
> > +++ b/drivers/gpu/drm/xe/xe_wait_user_fence.c
> > @@ -164,6 +164,12 @@ int xe_wait_user_fence_ioctl(struct drm_device *dev, void *data,
> > if (XE_IOCTL_DBG(xe, args->num_engines > XE_HW_ENGINE_MAX_INSTANCE))
> > return -EINVAL;
> >
> > + if (XE_IOCTL_DBG(xe, args->mask != DRM_XE_UFENCE_WAIT_MASK_U8 &&
> > + args->mask != DRM_XE_UFENCE_WAIT_MASK_U16 &&
> > + args->mask != DRM_XE_UFENCE_WAIT_MASK_U32 &&
> > + args->mask != DRM_XE_UFENCE_WAIT_MASK_U64))
> > + return -EINVAL;
> > +
>
> Why do we need this check? Looking at do_compare() I believe any mask
> value actually works. Would it be better to just delete
> DRM_XE_UFENCE_WAIT_MASK* from the uAPI?
Sure let's do this.
>
> Matt
>
> > if (!no_engines) {
> > err = copy_from_user(eci, user_eci,
> > sizeof(struct drm_xe_engine_class_instance) *
> > --
> > 2.34.1
> >
More information about the Intel-xe
mailing list