]> 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 12:01:58 +0000 (14:01 +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 9ded384acba46aa963c9c0dc36e569ba22b1f8bf..17a59d73fe01ef0127a820d185f3a61ac860eedb 100644 (file)
@@ -242,7 +242,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);