[PATCH] drm/kms: add a module param to disable strict EDID checking

Adam Jackson ajax at redhat.com
Wed Jan 5 07:33:37 PST 2011


On Tue, 2011-01-04 at 18:00 -0500, Alex Deucher wrote:
> Lots of EDIDs have bad checksums or bad version numbers, but
> have otherwise good data in them.  The current code rejects
> them which results in bad modes or blank screens in some cases.
> This patch adds a new module parameter, edid_strict, to drm.ko.
> It defaults to 1 (strict conformance, the current behavior),
> but if the user sets it to 0, it will bypass the checks and
> accept the EDID.

I really, really hate this.  Especially for things like the CEA
extension, where there's a bunch of internal length data that we trust
while walking the block, so if it's wrong then we're just going to walk
off the end of the EDID block and into arbitrary kernel memory.

However, I have neither the time nor the inclination to write a
sufficiently paranoid permissive parser right now.  So I'd kind of
prefer that this set the taint flag, and I absolutely disclaim any
responsibility for any security bugs that result from someone shooting
themselves in the foot with this.  But, that said:

Regretted-by: Adam Jackson <ajax at redhat.com>

- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20110105/a471fae7/attachment.pgp>


More information about the dri-devel mailing list