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

Commit 12ccb573 authored by Jessica Zhang's avatar Jessica Zhang Committed by Greg Kroah-Hartman
Browse files

drm/msm: Fix potential NULL dereference in DPU SSPP



[ Upstream commit 8bf71a5719b6cc5b6ba358096081e5d50ea23ab6 ]

Move initialization of sblk in _sspp_subblk_offset() after NULL check to
avoid potential NULL pointer dereference.

Fixes: 25fdd593 ("drm/msm: Add SDM845 DPU support")
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarJessica Zhang <jesszhan@codeaurora.org>
Link: https://lore.kernel.org/r/20211020175733.3379-1-jesszhan@codeaurora.org


Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent dc18f080
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -137,11 +137,13 @@ static int _sspp_subblk_offset(struct dpu_hw_pipe *ctx,
		u32 *idx)
{
	int rc = 0;
	const struct dpu_sspp_sub_blks *sblk = ctx->cap->sblk;
	const struct dpu_sspp_sub_blks *sblk;

	if (!ctx)
	if (!ctx || !ctx->cap || !ctx->cap->sblk)
		return -EINVAL;

	sblk = ctx->cap->sblk;

	switch (s_id) {
	case DPU_SSPP_SRC:
		*idx = sblk->src_blk.base;
@@ -404,7 +406,7 @@ static void _dpu_hw_sspp_setup_scaler3(struct dpu_hw_pipe *ctx,

	(void)pe;
	if (_sspp_subblk_offset(ctx, DPU_SSPP_SCALER_QSEED3, &idx) || !sspp
		|| !scaler3_cfg || !ctx || !ctx->cap || !ctx->cap->sblk)
		|| !scaler3_cfg)
		return;

	dpu_hw_setup_scaler3(&ctx->hw, scaler3_cfg, idx,