From: Johan Hovold Date: Thu, 2 Mar 2023 07:47:04 +0000 (+0100) Subject: drm/edid: fix info leak when failing to get panel id X-Git-Tag: v6.2.8~54 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=598c42c78919117dc0d235ae22d17ad642377483;p=thirdparty%2Fkernel%2Fstable.git drm/edid: fix info leak when failing to get panel id commit 4d8457fe0eb9c80ff7795cf8a30962128b71d853 upstream. Make sure to clear the transfer buffer before fetching the EDID to avoid leaking slab data to the logs on errors that leave the buffer unchanged. Fixes: 69c7717c20cc ("drm/edid: Dump the EDID when drm_edid_get_panel_id() has an error") Cc: stable@vger.kernel.org # 6.2 Cc: Douglas Anderson Signed-off-by: Johan Hovold Reviewed-by: Jani Nikula Reviewed-by: Douglas Anderson Signed-off-by: Douglas Anderson Link: https://patchwork.freedesktop.org/patch/msgid/20230302074704.11371-1-johan+linaro@kernel.org Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index b94adb9bbefb8..0116c947a4b30 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -2797,7 +2797,7 @@ u32 drm_edid_get_panel_id(struct i2c_adapter *adapter) * the EDID then we'll just return 0. */ - base_block = kmalloc(EDID_LENGTH, GFP_KERNEL); + base_block = kzalloc(EDID_LENGTH, GFP_KERNEL); if (!base_block) return 0;