drm/msm/dpu: Add check for pstates
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Tue, 6 Dec 2022 08:02:36 +0000 (16:02 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:39:25 +0000 (09:39 +0100)
[ Upstream commit 93340e10b9c5fc86730d149636e0aa8b47bb5a34 ]

As kzalloc may fail and return NULL pointer,
it should be better to check pstates
in order to avoid the NULL pointer dereference.

Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/514160/
Link: https://lore.kernel.org/r/20221206080236.43687-1-jiasheng@iscas.ac.cn
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c

index c76305beff6e54c0a45a5c67c09737056e452813..4194689b6b35dc72b882b95013a7d434486627bf 100644 (file)
@@ -941,6 +941,8 @@ static int dpu_crtc_atomic_check(struct drm_crtc *crtc,
        bool needs_dirtyfb = dpu_crtc_needs_dirtyfb(crtc_state);
 
        pstates = kzalloc(sizeof(*pstates) * DPU_STAGE_MAX * 4, GFP_KERNEL);
+       if (!pstates)
+               return -ENOMEM;
 
        if (!crtc_state->enable || !crtc_state->active) {
                DRM_DEBUG_ATOMIC("crtc%d -> enable %d, active %d, skip atomic_check\n",