gpu: lontium-lt9611: Fix NULL pointer dereference in lt9611_connector_init()
authorZeng Jingxiang <linuszeng@tencent.com>
Wed, 27 Jul 2022 07:31:19 +0000 (15:31 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Oct 2022 10:35:39 +0000 (12:35 +0200)
[ Upstream commit ef8886f321c5dab8124b9153d25afa2a71d05323 ]

A NULL check for bridge->encoder shows that it may be NULL, but it
already been dereferenced on all paths leading to the check.
812 if (!bridge->encoder) {

Dereference the pointer bridge->encoder.
810 drm_connector_attach_encoder(&lt9611->connector, bridge->encoder);

Signed-off-by: Zeng Jingxiang <linuszeng@tencent.com>
Signed-off-by: Robert Foss <robert.foss@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220727073119.1578972-1-zengjx95@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/bridge/lontium-lt9611.c

index 29b1ce2..1dcc28a 100644 (file)
@@ -816,13 +816,14 @@ static int lt9611_connector_init(struct drm_bridge *bridge, struct lt9611 *lt961
 
        drm_connector_helper_add(&lt9611->connector,
                                 &lt9611_bridge_connector_helper_funcs);
-       drm_connector_attach_encoder(&lt9611->connector, bridge->encoder);
 
        if (!bridge->encoder) {
                DRM_ERROR("Parent encoder object not found");
                return -ENODEV;
        }
 
+       drm_connector_attach_encoder(&lt9611->connector, bridge->encoder);
+
        return 0;
 }