]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/exynos: fix a potential error pointer dereference
authorXiang Yang <xiangyang3@huawei.com>
Sat, 12 Aug 2023 06:27:48 +0000 (14:27 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 20 Jan 2024 10:50:06 +0000 (11:50 +0100)
[ Upstream commit 73bf1c9ae6c054c53b8e84452c5e46f86dd28246 ]

Smatch reports the warning below:
drivers/gpu/drm/exynos/exynos_hdmi.c:1864 hdmi_bind()
error: 'crtc' dereferencing possible ERR_PTR()

The return value of exynos_drm_crtc_get_by_type maybe ERR_PTR(-ENODEV),
which can not be used directly. Fix this by checking the return value
before using it.

Signed-off-by: Xiang Yang <xiangyang3@huawei.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/exynos/exynos_hdmi.c

index b7c11bdce2c89a9fabb991a26f203416f1d15fb0..1a7194a653ae5d124f33c2b8f4f1d0d8cb3bfe89 100644 (file)
@@ -1861,6 +1861,8 @@ static int hdmi_bind(struct device *dev, struct device *master, void *data)
                return ret;
 
        crtc = exynos_drm_crtc_get_by_type(drm_dev, EXYNOS_DISPLAY_TYPE_HDMI);
+       if (IS_ERR(crtc))
+               return PTR_ERR(crtc);
        crtc->pipe_clk = &hdata->phy_clk;
 
        ret = hdmi_create_connector(encoder);