Patch "drm/i915/bios: fix a memory leak in generate_lfp_data_ptrs" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/i915/bios: fix a memory leak in generate_lfp_data_ptrs

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-i915-bios-fix-a-memory-leak-in-generate_lfp_data.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 9e1ec733de536ad18ae8e3d0aa7152e3db602b89
Author: Xia Fukun <xiafukun@xxxxxxxxxx>
Date:   Fri Nov 25 14:34:28 2022 +0800

    drm/i915/bios: fix a memory leak in generate_lfp_data_ptrs
    
    [ Upstream commit 1382901f75a5a7dc8eac05059fd0c7816def4eae ]
    
    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@xxxxxxxxxx>
    Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
    Link: https://patchwork.freedesktop.org/patch/msgid/20221125063428.69486-1-xiafukun@xxxxxxxxxx
    (cherry picked from commit 7674cd0b7d28b952151c3df26bbfa7e07eb2b4ec)
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

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;
 	}
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux