[BUG] EDID leaks kernel memory
Russell King - ARM Linux
linux at arm.linux.org.uk
Sat Aug 11 09:51:19 PDT 2012
Hi,
While looking at the kernel DRM code, I've noticed that in many places
we kmalloc() memory to store the raw EDID information, whether it be
from a DDC adapter, or loaded from firmware.
Nowhere can I find where this memory is freed. It seems in several
places that we assign it into connector->display_info.raw_edid, and
next time we obtain EDID information, we re-kmalloc and overwrite this
pointer.
Note that some drivers do kfree() this memory themselves after blindly
setting connector->display_info.raw_edid to NULL...
Can someone please point me to where this memory is freed? If not, I'll
cook up a patch to add some kfree's.
Thanks.
More information about the dri-devel
mailing list