drm/debugfs: fix potential NULL pointer dereference
authorMarek Szyprowski <m.szyprowski@samsung.com>
Tue, 5 Dec 2023 13:06:31 +0000 (14:06 +0100)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 7 Dec 2023 10:29:17 +0000 (12:29 +0200)
encoder->funcs entry might be NULL, so check it first before calling its
methods. This fixes NULL pointer dereference observed on Rasberry Pi
3b/4b boards.

Fixes: caf525ed45b4 ("drm/encoder: register per-encoder debugfs dir")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231205130631.3456986-1-m.szyprowski@samsung.com
drivers/gpu/drm/drm_debugfs.c

index 02e7481..f4715a6 100644 (file)
@@ -638,7 +638,7 @@ void drm_debugfs_encoder_add(struct drm_encoder *encoder)
        debugfs_create_file("bridges", 0444, root, encoder,
                            &bridges_fops);
 
-       if (encoder->funcs->debugfs_init)
+       if (encoder->funcs && encoder->funcs->debugfs_init)
                encoder->funcs->debugfs_init(encoder, root);
 }