]> git.itanic.dy.fi Git - linux-stable/commitdiff
drm/msm: fix NULL-deref on snapshot tear down
authorJohan Hovold <johan+linaro@kernel.org>
Mon, 6 Mar 2023 10:07:15 +0000 (11:07 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 May 2023 09:50:24 +0000 (11:50 +0200)
commit a465353b9250802f87b97123e33a17f51277f0b1 upstream.

In case of early initialisation errors and on platforms that do not use
the DPU controller, the deinitilisation code can be called with the kms
pointer set to NULL.

Fixes: 98659487b845 ("drm/msm: add support to take dpu snapshot")
Cc: stable@vger.kernel.org # 5.14
Cc: Abhinav Kumar <quic_abhinavk@quicinc.com>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/525099/
Link: https://lore.kernel.org/r/20230306100722.28485-4-johan+linaro@kernel.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/msm/msm_drv.c

index 6c4d519450b9c461047168cf89204508b42982d3..91609e86c9aa4e66e4b21aca079191a014339b10 100644 (file)
@@ -359,7 +359,8 @@ static int msm_drm_uninit(struct device *dev)
                msm_fbdev_free(ddev);
 #endif
 
-       msm_disp_snapshot_destroy(ddev);
+       if (kms)
+               msm_disp_snapshot_destroy(ddev);
 
        drm_mode_config_cleanup(ddev);