[PATCH] drm: Fix uabi regression by allowing garbage mode->type from userspace

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Mar 23 11:52:55 UTC 2018


On Thu, Mar 22, 2018 at 08:42:11AM +0100, Thomas Hellstrom wrote:
> On 03/21/2018 10:12 PM, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >
> > Apparently xf86-video-vmware leaves the mode->type uninitialized
> > when feeding the mode to the kernel. Thus we have no choice but
> > to accept the garbage in. We'll just ignore any of the bits we
> > don't want. The mode type is just a hint anyway, and more
> > useful for the kernel->userspace direction.
> >
> > Reported-by: Thomas Hellstrom <thomas at shipmail.org>
> > CC: Thomas Hellstrom <thomas at shipmail.org>
> > Cc: Adam Jackson <ajax at redhat.com>
> > Cc: Alex Deucher <alexander.deucher at amd.com>
> > Fixes: c6ed6dad5cfb ("drm/uapi: Validate the mode flags/type")
> > References: https://lists.freedesktop.org/archives/dri-devel/2018-March/170213.html
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > ---
> >   drivers/gpu/drm/drm_modes.c | 8 +++++++-
> >   1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
> > index f6b7c0e36a1a..e82b61e08f8c 100644
> > --- a/drivers/gpu/drm/drm_modes.c
> > +++ b/drivers/gpu/drm/drm_modes.c
> > @@ -1611,7 +1611,13 @@ int drm_mode_convert_umode(struct drm_device *dev,
> >   	out->vscan = in->vscan;
> >   	out->vrefresh = in->vrefresh;
> >   	out->flags = in->flags;
> > -	out->type = in->type;
> > +	/*
> > +	 * Old xf86-video-vmware (possibly others too) used to
> > +	 * leave 'type' unititialized. Just ignore any bits we
> > +	 * don't like. It's a just hint after all, and more
> > +	 * useful for the kernel->userspace direction anyway.
> > +	 */
> > +	out->type = in->type & DRM_MODE_TYPE_ALL;
> >   	strncpy(out->name, in->name, DRM_DISPLAY_MODE_LEN);
> >   	out->name[DRM_DISPLAY_MODE_LEN-1] = 0;
> >   
> 
> Tested-by: Thomas Hellstrom <thellstrom at vmware.com>

Thanks for the testing and reviews. And sorry for the extra hassle.

Pushed to drm-misc-next-fixes.

-- 
Ville Syrjälä
Intel OTC


More information about the dri-devel mailing list