Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7f1d6355 authored by Jayant Shekhar's avatar Jayant Shekhar
Browse files

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: default avatarJayant Shekhar <jshekhar@codeaurora.org>
parent 001053d2
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -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;