drm/i915: Reject panel_type > 0xf from VBT
VBT can only contain 16 panel entries, indexed with the panel_type. To play it safe we should reject panel_type > 0xf, so that we don't read past the valid data. v2: Add debug logging (Jani) Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Rob Kramer <rob@solution-space.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Jani Nikula <jani.nikula@intel.com> (v1) Link: http://patchwork.freedesktop.org/patch/msgid/1460359329-10817-1-git-send-email-ville.syrjala@linux.intel.com
This commit is contained in:
Родитель
706778013b
Коммит
eeeebea6cb
drivers/gpu/drm/i915
|
@ -212,8 +212,11 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv,
|
||||||
return;
|
return;
|
||||||
|
|
||||||
dev_priv->vbt.lvds_dither = lvds_options->pixel_dither;
|
dev_priv->vbt.lvds_dither = lvds_options->pixel_dither;
|
||||||
if (lvds_options->panel_type == 0xff)
|
if (lvds_options->panel_type > 0xf) {
|
||||||
|
DRM_DEBUG_KMS("Invalid VBT panel type 0x%x\n",
|
||||||
|
lvds_options->panel_type);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
panel_type = lvds_options->panel_type;
|
panel_type = lvds_options->panel_type;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче