lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20221125063428.69486-1-xiafukun@huawei.com> Date: Fri, 25 Nov 2022 14:34:28 +0800 From: Xia Fukun <xiafukun@...wei.com> To: <jani.nikula@...ux.intel.com>, <airlied@...il.com>, <daniel@...ll.ch>, <ville.syrjala@...ux.intel.com>, <lucas.demarchi@...el.com>, <joonas.lahtinen@...ux.intel.com> CC: <rodrigo.vivi@...el.com>, <tvrtko.ursulin@...ux.intel.com>, <intel-gfx@...ts.freedesktop.org>, <dri-devel@...ts.freedesktop.org>, <linux-kernel@...r.kernel.org>, <xiafukun@...wei.com> Subject: [PATCH] drm/i915/bios: fix a memory leak in generate_lfp_data_ptrs When (size != 0 || ptrs->lvds_ entries != 3), the program tries to free() the ptrs. However, the ptrs is not created by calling kzmalloc(), but is obtained by pointer offset operation. This may lead to memory leaks or undefined behavior. Fix this by replacing the arguments of kfree() with ptrs_block. Fixes: a87d0a847607 ("drm/i915/bios: Generate LFP data table pointers if the VBT lacks them") Signed-off-by: Xia Fukun <xiafukun@...wei.com> --- drivers/gpu/drm/i915/display/intel_bios.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c index 28bdb936cd1f..edbdb949b6ce 100644 --- a/drivers/gpu/drm/i915/display/intel_bios.c +++ b/drivers/gpu/drm/i915/display/intel_bios.c @@ -414,7 +414,7 @@ static void *generate_lfp_data_ptrs(struct drm_i915_private *i915, ptrs->lvds_entries++; if (size != 0 || ptrs->lvds_entries != 3) { - kfree(ptrs); + kfree(ptrs_block); return NULL; } -- 2.17.1
Powered by blists - more mailing lists