lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 261/917] drm/msm: prevent NULL dereference in msm_gpu_crashstate_capture()
    Date
    From: Tim Gardner <tim.gardner@canonical.com>

    [ Upstream commit b220c154832c5cd0df34cbcbcc19d7135c16e823 ]

    Coverity complains of a possible NULL dereference:

    CID 120718 (#1 of 1): Dereference null return value (NULL_RETURNS)
    23. dereference: Dereferencing a pointer that might be NULL state->bos when
    calling msm_gpu_crashstate_get_bo. [show details]
    301 msm_gpu_crashstate_get_bo(state, submit->bos[i].obj,
    302 submit->bos[i].iova, submit->bos[i].flags);

    Fix this by employing the same state->bos NULL check as is used in the next
    for loop.

    Cc: Rob Clark <robdclark@gmail.com>
    Cc: Sean Paul <sean@poorly.run>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Cc: freedreno@lists.freedesktop.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Link: https://lore.kernel.org/r/20210929162554.14295-1-tim.gardner@canonical.com
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/msm/msm_gpu.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c
    index 8a3a592da3a4d..2c46cd968ac4c 100644
    --- a/drivers/gpu/drm/msm/msm_gpu.c
    +++ b/drivers/gpu/drm/msm/msm_gpu.c
    @@ -296,7 +296,7 @@ static void msm_gpu_crashstate_capture(struct msm_gpu *gpu,
    state->bos = kcalloc(nr,
    sizeof(struct msm_gpu_state_bo), GFP_KERNEL);

    - for (i = 0; i < submit->nr_bos; i++) {
    + for (i = 0; state->bos && i < submit->nr_bos; i++) {
    if (should_dump(submit, i)) {
    msm_gpu_crashstate_get_bo(state, submit->bos[i].obj,
    submit->bos[i].iova, submit->bos[i].flags);
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-16 02:00    [W:2.751 / U:0.312 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site