diff options
| author | Jayant Shekhar <jshekhar@codeaurora.org> | 2013-11-08 12:22:02 +0530 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:23:14 -0700 |
| commit | 41c9a5d21b1d26ffc8d9302c92012629a82997ef (patch) | |
| tree | b4dcefae53e9bc8b70c0b72b0583cf887c0ce326 | |
| parent | 0e250c9859560b0ada261a309019ae9d8010ac39 (diff) | |
msm: mdss: Fix NULL pointer deference in mdss_mdp_overlay_handle_vsync
Add NULL pointer checks to avoid NULL pointer dereference
resulting in kernel panic.
CRs-Fixed: 573022
Change-Id: Ib7fd1bb75553441c1100a1c2d0cf1ae56108c125
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_overlay.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c index 39f4bf88e202..4b9030774b22 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c +++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c @@ -1528,15 +1528,26 @@ pan_display_error: static void mdss_mdp_overlay_handle_vsync(struct mdss_mdp_ctl *ctl, ktime_t t) { - struct msm_fb_data_type *mfd = ctl->mfd; - struct mdss_overlay_private *mdp5_data; + struct msm_fb_data_type *mfd = NULL; + struct mdss_overlay_private *mdp5_data = NULL; + + if (!ctl) { + pr_err("ctl is NULL\n"); + return; + } + mfd = ctl->mfd; if (!mfd || !mfd->mdp.private1) { pr_warn("Invalid handle for vsync\n"); return; } mdp5_data = mfd_to_mdp5_data(mfd); + if (!mdp5_data) { + pr_err("mdp5_data is NULL\n"); + return; + } + pr_debug("vsync on fb%d play_cnt=%d\n", mfd->index, ctl->play_cnt); mdp5_data->vsync_time = t; |
