aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXiang Yang <xiangyang3@huawei.com>2023-08-12 14:27:48 +0800
committerInki Dae <inki.dae@samsung.com>2023-12-07 11:51:42 +0900
commit73bf1c9ae6c054c53b8e84452c5e46f86dd28246 (patch)
treeba7facc3f4f80b97d29468fd2defaf8b98edd8e2
parent33924328498e903bea74727353e5012d29653aff (diff)
downloadlinux-73bf1c9ae6c054c53b8e84452c5e46f86dd28246.tar.gz
drm/exynos: fix a potential error pointer dereference
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>
-rw-r--r--drivers/gpu/drm/exynos/exynos_hdmi.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index f3aaa4ea3e6820..dd9903eab563ee 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -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);