]> 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:53:47 +0000 (11:53 +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 5a0ff112634b795511d7343756e425a247c085f9..17e9c0ad04392a895918a13c0aabf521e071079d 100644 (file)
@@ -241,7 +241,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);