From: "Kumar, Shobhit" <shobhit.kumar@intel.com>
To: rafael.barbalho@intel.com, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: Fix crash when failing to parse MIPI VBT
Date: Fri, 25 Jul 2014 12:02:18 +0530 [thread overview]
Message-ID: <53D1F9F2.7020200@intel.com> (raw)
In-Reply-To: <1406211372-25120-1-git-send-email-rafael.barbalho@intel.com>
On 7/24/2014 7:46 PM, rafael.barbalho@intel.com wrote:
> From: Rafael Barbalho <rafael.barbalho@intel.com>
>
> This particular nasty presented itself while trying to register the
> intelfb device (intel_fbdev.c). During the process of registering the device
> the driver will disable the crtc via i9xx_crtc_disable. These will
> also disable the panel using the generic mipi panel functions in
> dsi_mod_vbt_generic.c. The stale MIPI generic data sequence pointers would
> cause a crash within those functions. However, all of this is happening
> while console_lock is held from do_register_framebuffer inside fbcon.c. Which
> means that you got kernel log and just the device appearing to reboot/hang for
> no apparent reason.
>
> The fault started from the FB_EVENT_FB_REGISTERED event using the
> fb_notifier_call_chain call in fbcon.c.
>
> Cc: Shobhit Kumar <shobhit.kumar@intel.com>
> Signed-off-by: Rafael Barbalho <rafael.barbalho@intel.com>
> ---
> drivers/gpu/drm/i915/intel_bios.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
> index 608ed30..a669550 100644
> --- a/drivers/gpu/drm/i915/intel_bios.c
> +++ b/drivers/gpu/drm/i915/intel_bios.c
> @@ -878,7 +878,7 @@ err:
>
> /* error during parsing so set all pointers to null
> * because of partial parsing */
> - memset(dev_priv->vbt.dsi.sequence, 0, MIPI_SEQ_MAX);
> + memset(dev_priv->vbt.dsi.sequence, 0, sizeof(dev_priv->vbt.dsi.sequence));
Ouch !! This mistake hurts. This is manifesting now because the VBT
probably you tested had sequences not supported by the driver. I am
influencing a TLV based VBT structure design for the sequence which when
done will ensure proper parsing for all that is known and unknown
pointers will remain NULL. But for now
Reviewed-by: Shobhit Kumar <shobhit.kumar@intel.com>
Regards
Shobhit
next prev parent reply other threads:[~2014-07-25 6:32 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-24 14:16 [PATCH] drm/i915: Fix crash when failing to parse MIPI VBT rafael.barbalho
2014-07-25 6:32 ` Kumar, Shobhit [this message]
2014-07-25 7:47 ` Daniel Vetter
2014-07-25 7:50 ` Daniel Vetter
2014-07-25 9:41 ` Kumar, Shobhit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53D1F9F2.7020200@intel.com \
--to=shobhit.kumar@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=rafael.barbalho@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.