Takashi Iwai 9246c6
From 73c3ed7495c67b8fbdc31cf58e6ca8757df31a33 Mon Sep 17 00:00:00 2001
Takashi Iwai 9246c6
From: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Takashi Iwai 9246c6
Date: Tue, 14 Dec 2021 18:08:37 +0800
Takashi Iwai 9246c6
Subject: [PATCH] drm: mali-dp: potential dereference of null pointer
Takashi Iwai 9246c6
Git-commit: 73c3ed7495c67b8fbdc31cf58e6ca8757df31a33
Takashi Iwai 9246c6
Patch-mainline: v5.19-rc1
Takashi Iwai 9246c6
References: CVE-2022-3115 bsc#1206393
Takashi Iwai 9246c6
Takashi Iwai 9246c6
The return value of kzalloc() needs to be checked.
Takashi Iwai 9246c6
To avoid use of null pointer '&state->base' in case of the
Takashi Iwai 9246c6
failure of alloc.
Takashi Iwai 9246c6
Takashi Iwai 9246c6
Fixes: 99665d072183 ("drm: mali-dp: add malidp_crtc_state struct")
Takashi Iwai 9246c6
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Takashi Iwai 9246c6
Reviewed-by: Brian Starkey <brian.starkey@arm.com>
Takashi Iwai 9246c6
Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
Takashi Iwai 9246c6
Link: https://patchwork.freedesktop.org/patch/msgid/20211214100837.46912-1-jiasheng@iscas.ac.cn
Takashi Iwai 9246c6
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 9246c6
Takashi Iwai 9246c6
---
Takashi Iwai 9246c6
 drivers/gpu/drm/arm/malidp_crtc.c | 5 ++++-
Takashi Iwai 9246c6
 1 file changed, 4 insertions(+), 1 deletion(-)
Takashi Iwai 9246c6
Takashi Iwai 9246c6
diff --git a/drivers/gpu/drm/arm/malidp_crtc.c b/drivers/gpu/drm/arm/malidp_crtc.c
Takashi Iwai 9246c6
index 494075ddbef6..b5928b52e279 100644
Takashi Iwai 9246c6
--- a/drivers/gpu/drm/arm/malidp_crtc.c
Takashi Iwai 9246c6
+++ b/drivers/gpu/drm/arm/malidp_crtc.c
Takashi Iwai 9246c6
@@ -487,7 +487,10 @@ static void malidp_crtc_reset(struct drm_crtc *crtc)
Takashi Iwai 9246c6
 	if (crtc->state)
Takashi Iwai 9246c6
 		malidp_crtc_destroy_state(crtc, crtc->state);
Takashi Iwai 9246c6
 
Takashi Iwai 9246c6
-	__drm_atomic_helper_crtc_reset(crtc, &state->base);
Takashi Iwai 9246c6
+	if (state)
Takashi Iwai 9246c6
+		__drm_atomic_helper_crtc_reset(crtc, &state->base);
Takashi Iwai 9246c6
+	else
Takashi Iwai 9246c6
+		__drm_atomic_helper_crtc_reset(crtc, NULL);
Takashi Iwai 9246c6
 }
Takashi Iwai 9246c6
 
Takashi Iwai 9246c6
 static int malidp_crtc_enable_vblank(struct drm_crtc *crtc)
Takashi Iwai 9246c6
-- 
Takashi Iwai 9246c6
2.35.3
Takashi Iwai 9246c6