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

Commit ec2426a0 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "mdss: mdp: Validate null commit for secure display"

parents 96a03758 e86bc640
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1033,6 +1033,8 @@ struct mdss_overlay_private {
	struct kthread_worker worker;
	struct kthread_work vsync_work;
	struct task_struct *thread;

	bool cache_null_commit; /* Cache if preceding commit was NULL */
};

struct mdss_mdp_set_ot_params {
+7 −0
Original line number Diff line number Diff line
@@ -1199,7 +1199,14 @@ static int __validate_secure_display(struct mdss_overlay_private *mdp5_data)
	} else if (mdp5_data->sd_enabled && !sd_pipes) {
		mdp5_data->sd_transition_state =
			SD_TRANSITION_SECURE_TO_NON_SECURE;
	} else if (mdp5_data->ctl->is_video_mode &&
		((sd_pipes && !mdp5_data->sd_enabled) ||
		(!sd_pipes && mdp5_data->sd_enabled)) &&
		!mdp5_data->cache_null_commit) {
		pr_err("NULL commit missing before display secure session entry/exit\n");
		ret = -EINVAL;
	}

	return ret;
}

+2 −0
Original line number Diff line number Diff line
@@ -2904,6 +2904,7 @@ int mdss_mdp_overlay_kickoff(struct msm_fb_data_type *mfd,
	if (ctl->ops.wait_pingpong && mdp5_data->mdata->serialize_wait4pp)
		mdss_mdp_display_wait4pingpong(ctl, true);

	mdp5_data->cache_null_commit = list_empty(&mdp5_data->pipes_used);
	sd_transition_state = mdp5_data->sd_transition_state;
	if (sd_transition_state != SD_TRANSITION_NONE) {
		ret = __config_secure_display(mdp5_data);
@@ -2936,6 +2937,7 @@ int mdss_mdp_overlay_kickoff(struct msm_fb_data_type *mfd,
	ATRACE_BEGIN("sspp_programming");
	ret = __overlay_queue_pipes(mfd);
	ATRACE_END("sspp_programming");

	mutex_unlock(&mdp5_data->list_lock);

	mdp5_data->kickoff_released = false;