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

Commit 9b14f40e authored by Xu Yang's avatar Xu Yang Committed by c_xshu
Browse files

disp: msm: sde: Add DSPP NULL pointer check in reg dma

Add DSPP NULL pointer check in reg dma when get dspp block.
Change fixes the possibility of kernel NULL pointer dereference
issue in stress test.

Change-Id: I9aa5514f7508cd7e316daf9e73fef313e6d1c9d4
parent b69f6916
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -379,6 +379,11 @@ static int reg_dmav1_get_dspp_blk(struct sde_hw_cp_cfg *hw_cfg,

	/* Treat first dspp as master to simplify setup */
	dspp = hw_cfg->dspp[0];
	if(!dspp) {
		DRM_ERROR("Invalid dspp NULL");
		return -EINVAL;
	}

	if (hw_cfg->broadcast_disabled) {
		*blk = dspp_mapping[curr_dspp];
		(*num_of_mixers)++;
@@ -390,6 +395,11 @@ static int reg_dmav1_get_dspp_blk(struct sde_hw_cp_cfg *hw_cfg,

		for (i = 0 ; i < hw_cfg->num_of_mixers; i++) {
			dspp = hw_cfg->dspp[i];
			if (!dspp) {
				DRM_ERROR("Invalid dspp NULL");
				rc = -EINVAL;
				break;
			}
			if (dspp->idx >= DSPP_MAX) {
				DRM_ERROR("Invalid dspp idx %d", dspp->idx);
				rc = -EINVAL;