[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240821095039.15282-1-hanchunchao@inspur.com>
Date: Wed, 21 Aug 2024 17:50:39 +0800
From: Charles Han <hanchunchao@...pur.com>
To: <neil.armstrong@...aro.org>, <quic_jesszhan@...cinc.com>,
<mripard@...nel.org>, <security@...nel.org>
CC: <linux-kernel@...r.kernel.org>, <liuyanming@...system.com>, hanchunchao
<hanchunchao@...pur.com>
Subject: [PATCH] drm/panel/hx83102: fix null pointer dereference in hx83102_get_modes
From: hanchunchao <hanchunchao@...pur.com>
In hx83102_get_modes(), the return value of drm_mode_duplicate() is
assigned to mode, which will lead to a possible NULL pointer dereference
on failure of drm_mode_duplicate(). Add a check to avoid npd.
Signed-off-by: hanchunchao <hanchunchao@...pur.com>
---
drivers/gpu/drm/panel/panel-himax-hx83102.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-himax-hx83102.c b/drivers/gpu/drm/panel/panel-himax-hx83102.c
index 6e4b7e4644ce..048c2c5897ae 100644
--- a/drivers/gpu/drm/panel/panel-himax-hx83102.c
+++ b/drivers/gpu/drm/panel/panel-himax-hx83102.c
@@ -565,6 +565,10 @@ static int hx83102_get_modes(struct drm_panel *panel,
struct drm_display_mode *mode;
mode = drm_mode_duplicate(connector->dev, m);
+ if (!mode) {
+ dev_err(connector->dev, "bad mode or failed to add mode\n");
+ return -EINVAL;
+ }
mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
drm_mode_set_name(mode);
--
2.39.3
Powered by blists - more mailing lists