summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJosé Expósito <jose.exposito89@gmail.com>2022-01-09 20:24:31 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-02-01 17:27:13 +0100
commit8f069f6dde518dfebe86e848508c07e497bd9298 (patch)
treea58816558fe01f183f4fdb016255d22a43d321fa /drivers
parent13bd31390cae1397c94dd7b97d8103bb5d587b9b (diff)
downloadlinux-8f069f6dde518dfebe86e848508c07e497bd9298.tar.gz
linux-8f069f6dde518dfebe86e848508c07e497bd9298.tar.bz2
linux-8f069f6dde518dfebe86e848508c07e497bd9298.zip
drm/msm/dpu: invalid parameter check in dpu_setup_dspp_pcc
[ Upstream commit 170b22234d5495f5e0844246e23f004639ee89ba ] The function performs a check on the "ctx" input parameter, however, it is used before the check. Initialize the "base" variable after the sanity check to avoid a possible NULL pointer dereference. Fixes: 4259ff7ae509e ("drm/msm/dpu: add support for pcc color block in dpu driver") Addresses-Coverity-ID: 1493866 ("Null pointer dereference") Signed-off-by: José Expósito <jose.exposito89@gmail.com> Link: https://lore.kernel.org/r/20220109192431.135949-1-jose.exposito89@gmail.com Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dspp.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dspp.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dspp.c
index a98e964c3b6f..355894a3b48c 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dspp.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dspp.c
@@ -26,9 +26,16 @@ static void dpu_setup_dspp_pcc(struct dpu_hw_dspp *ctx,
struct dpu_hw_pcc_cfg *cfg)
{
- u32 base = ctx->cap->sblk->pcc.base;
+ u32 base;
- if (!ctx || !base) {
+ if (!ctx) {
+ DRM_ERROR("invalid ctx %pK\n", ctx);
+ return;
+ }
+
+ base = ctx->cap->sblk->pcc.base;
+
+ if (!base) {
DRM_ERROR("invalid ctx %pK pcc base 0x%x\n", ctx, base);
return;
}