[PATCH 0/3] drm: Basic mode sanity checks

Daniel Vetter daniel at ffwll.ch
Wed Dec 17 09:30:12 PST 2014


On Wed, Dec 17, 2014 at 12:09:47PM -0500, Alex Deucher wrote:
> On Wed, Dec 17, 2014 at 6:56 AM,  <ville.syrjala at linux.intel.com> wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >
> > We had a bug in i915 land recently where X passed in a zeroed mode with
> > mode_valid=1 to setcrtc. That didn't go down so well and caused a
> > div-by-zero in i915.
> >
> > For a long time I've been thinking that we need some real checks to
> > validate the modes we feed into the hardware. I started to sketch out
> > something for that but it quickly turned into a bit of a nightmare
> > with the whole panel fitter, stereo 3D, SDVO etc. special cases we
> > have in i915.
> >
> > So I gave up on that for now, and instead cooked up this small series
> > to add some basic sanity checks to the mode validation, and also apply
> > the same sanity checks to user provided modes. This is enough to
> > prevent the div-by-zero in i915 with buggy X.
> >
> > The risk is that we start to reject some modes that more or less worked
> > by accident before. Given how lax we've been in handling the panel fitter
> > on i915 for instance, this could be a real problem if people have been
> > useing custom modes that have been filled out only partially. But I'm
> > hoping the number of users doing that is so small that we can risk it.
> >
> > The other concern is drivers which might also provide funky modes from
> > their .get_modes(). I tried to look at all the drivers a bit, and most
> > produce modes via EDID, CVT, DMT, or drm_display_mode_from_videomode().
> > All of those look safe, except mode->clock might be an issue with
> > drm_display_mode_from_videomode(), but hopefully there's some kind of
> > clock provided in most cases. I didn't dig through all the nooks and
> > crannies in all drivers though, so may have missed something.
> 
> For the series:
> 
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

All pulled into my drm misc branch.

Thanks, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list