Thread (8 messages) 8 messages, 3 authors, 2013-11-01

Re: [PATCH v2] efifb: prevent null-deref when iterating dmi_list

From: David Herrmann <hidden>
Date: 2013-10-31 16:17:57
Also in: lkml

Hi

On Thu, Oct 31, 2013 at 11:45 AM, Jean-Christophe PLAGNIOL-VILLARD
[off-list ref] wrote:
On 18:40 Wed 02 Oct     , David Herrmann wrote:
quoted
The dmi_list array is initialized using gnu designated initializers, and
therefore may contain fewer explicitly defined entries as there are
elements in it. This is because the enum above with M_xyz constants
contains more items than the designated initializer. Those elements not
explicitly initialized are implicitly set to 0.

Now efifb_setup() loops through all these array elements, and performs
a strcmp on each item. For non explicitly initialized elements this will
be a null pointer:

This patch swaps the check order in the if statement, thus checks first
whether dmi_list[i].base is null.

Signed-off-by: James Bates <redacted>
Signed-off-by: David Herrmann <redacted>
with the simpleDRM arriving next merge I'm wondering if we need to keep it?
SimpleDRM is not coming next merge-window. It's basically finished,
but I'm still working on the user-space side as its KMS api is highly
reduced compared to fully-featured DRM/KMS drivers. Maybe 3.13 will
work out.

Anyhow, this patch is still needed as it fixes a serious bug for simplefb.

Thanks
David
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help