lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.17 314/772] drm/msm/disp/dpu1: set vbif hw config to NULL to avoid use after memory free during pm runtime resume
    Date
    From: Vinod Polimera <quic_vpolimer@quicinc.com>

    [ Upstream commit fa5186b279ecf44b14fb435540d2065be91cb1ed ]

    BUG: Unable to handle kernel paging request at virtual address 006b6b6b6b6b6be3

    Call trace:
    dpu_vbif_init_memtypes+0x40/0xb8
    dpu_runtime_resume+0xcc/0x1c0
    pm_generic_runtime_resume+0x30/0x44
    __genpd_runtime_resume+0x68/0x7c
    genpd_runtime_resume+0x134/0x258
    __rpm_callback+0x98/0x138
    rpm_callback+0x30/0x88
    rpm_resume+0x36c/0x49c
    __pm_runtime_resume+0x80/0xb0
    dpu_core_irq_uninstall+0x30/0xb0
    dpu_irq_uninstall+0x18/0x24
    msm_drm_uninit+0xd8/0x16c

    Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support")
    Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Patchwork: https://patchwork.freedesktop.org/patch/483255/
    Link: https://lore.kernel.org/r/1650857213-30075-1-git-send-email-quic_vpolimer@quicinc.com
    [DB: fixed Fixes tag]
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
    index 47fe11a84a77..4a8cf33594c3 100644
    --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
    +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
    @@ -795,8 +795,10 @@ static void _dpu_kms_hw_destroy(struct dpu_kms *dpu_kms)
    for (i = 0; i < dpu_kms->catalog->vbif_count; i++) {
    u32 vbif_idx = dpu_kms->catalog->vbif[i].id;

    - if ((vbif_idx < VBIF_MAX) && dpu_kms->hw_vbif[vbif_idx])
    + if ((vbif_idx < VBIF_MAX) && dpu_kms->hw_vbif[vbif_idx]) {
    dpu_hw_vbif_destroy(dpu_kms->hw_vbif[vbif_idx]);
    + dpu_kms->hw_vbif[vbif_idx] = NULL;
    + }
    }
    }

    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-07 23:03    [W:2.325 / U:0.320 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site