summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTuo Li <islituo@gmail.com>2025-12-18 15:09:55 +0300
committerSasha Levin <sashal@kernel.org>2026-03-04 15:21:03 +0300
commitec2f37bbb733cdd7ed7d04171fca728a532414d5 (patch)
tree4ea252578e288863487c211e0e14eac5ab90549f
parent533bd1c1e2ca0feed8fba9bd135f7d4b1b7b5fe3 (diff)
downloadlinux-ec2f37bbb733cdd7ed7d04171fca728a532414d5.tar.xz
drm/panel: Fix a possible null-pointer dereference in jdi_panel_dsi_remove()
[ Upstream commit 95eed73b871111123a8b1d31cb1fce7e902e49ea ] In jdi_panel_dsi_remove(), jdi is explicitly checked, indicating that it may be NULL: if (!jdi) mipi_dsi_detach(dsi); However, when jdi is NULL, the function does not return and continues by calling jdi_panel_disable(): err = jdi_panel_disable(&jdi->base); Inside jdi_panel_disable(), jdi is dereferenced unconditionally, which can lead to a NULL-pointer dereference: struct jdi_panel *jdi = to_panel_jdi(panel); backlight_disable(jdi->backlight); To prevent such a potential NULL-pointer dereference, return early from jdi_panel_dsi_remove() when jdi is NULL. Signed-off-by: Tuo Li <islituo@gmail.com> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://patch.msgid.link/20251218120955.11185-1-islituo@gmail.com Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/gpu/drm/panel/panel-jdi-lpm102a188a.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/panel/panel-jdi-lpm102a188a.c b/drivers/gpu/drm/panel/panel-jdi-lpm102a188a.c
index 5b5082efb282..eba560e422e8 100644
--- a/drivers/gpu/drm/panel/panel-jdi-lpm102a188a.c
+++ b/drivers/gpu/drm/panel/panel-jdi-lpm102a188a.c
@@ -510,8 +510,10 @@ static void jdi_panel_dsi_remove(struct mipi_dsi_device *dsi)
int err;
/* only detach from host for the DSI-LINK2 interface */
- if (!jdi)
+ if (!jdi) {
mipi_dsi_detach(dsi);
+ return;
+ }
err = jdi_panel_disable(&jdi->base);
if (err < 0)