Currently the pointer minor is being dereferenced before it is null
checked, leading to a potential null pointer dereference issue. Fix this
by dereferencing the pointer only after it has been null checked. Also
Replace minor->dev with dev.

Fixes: 4f89cf40d01e ("drm/msm: bail out late_init_minor() if it is not a GPU 
device")
Signed-off-by: Colin Ian King <colin.i.k...@gmail.com>
---
 drivers/gpu/drm/msm/msm_debugfs.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/msm/msm_debugfs.c 
b/drivers/gpu/drm/msm/msm_debugfs.c
index bbda865addae..97dc70876442 100644
--- a/drivers/gpu/drm/msm/msm_debugfs.c
+++ b/drivers/gpu/drm/msm/msm_debugfs.c
@@ -325,25 +325,28 @@ static struct drm_info_list msm_debugfs_list[] = {
 
 static int late_init_minor(struct drm_minor *minor)
 {
-       struct drm_device *dev = minor->dev;
-       struct msm_drm_private *priv = dev->dev_private;
+       struct drm_device *dev;
+       struct msm_drm_private *priv;
        int ret;
 
        if (!minor)
                return 0;
 
+       dev = minor->dev;
+       priv = dev->dev_private;
+
        if (!priv->gpu_pdev)
                return 0;
 
        ret = msm_rd_debugfs_init(minor);
        if (ret) {
-               DRM_DEV_ERROR(minor->dev->dev, "could not install rd 
debugfs\n");
+               DRM_DEV_ERROR(dev->dev, "could not install rd debugfs\n");
                return ret;
        }
 
        ret = msm_perf_debugfs_init(minor);
        if (ret) {
-               DRM_DEV_ERROR(minor->dev->dev, "could not install perf 
debugfs\n");
+               DRM_DEV_ERROR(dev->dev, "could not install perf debugfs\n");
                return ret;
        }
 
-- 
2.50.0

Reply via email to