Patch "fbdev: fix potential OOB read in fast_imageblit()" has been added to the 5.4-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

    fbdev: fix potential OOB read in fast_imageblit()

to the 5.4-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:
     fbdev-fix-potential-oob-read-in-fast_imageblit.patch
and it can be found in the queue-5.4 subdirectory.

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



commit 67b037969ccb2a91211b435cbb1e9ae7eb512bdd
Author: Zhang Shurong <zhang_shurong@xxxxxxxxxxx>
Date:   Sun Jun 25 00:16:49 2023 +0800

    fbdev: fix potential OOB read in fast_imageblit()
    
    [ Upstream commit c2d22806aecb24e2de55c30a06e5d6eb297d161d ]
    
    There is a potential OOB read at fast_imageblit, for
    "colortab[(*src >> 4)]" can become a negative value due to
    "const char *s = image->data, *src".
    This change makes sure the index for colortab always positive
    or zero.
    
    Similar commit:
    https://patchwork.kernel.org/patch/11746067
    
    Potential bug report:
    https://groups.google.com/g/syzkaller-bugs/c/9ubBXKeKXf4/m/k-QXy4UgAAAJ
    
    Signed-off-by: Zhang Shurong <zhang_shurong@xxxxxxxxxxx>
    Cc: stable@xxxxxxxxxxxxxxx
    Signed-off-by: Helge Deller <deller@xxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/video/fbdev/core/sysimgblt.c b/drivers/video/fbdev/core/sysimgblt.c
index 335e92b813fc4..665ef7a0a2495 100644
--- a/drivers/video/fbdev/core/sysimgblt.c
+++ b/drivers/video/fbdev/core/sysimgblt.c
@@ -189,7 +189,7 @@ static void fast_imageblit(const struct fb_image *image, struct fb_info *p,
 	u32 fgx = fgcolor, bgx = bgcolor, bpp = p->var.bits_per_pixel;
 	u32 ppw = 32/bpp, spitch = (image->width + 7)/8;
 	u32 bit_mask, eorx, shift;
-	const char *s = image->data, *src;
+	const u8 *s = image->data, *src;
 	u32 *dst;
 	const u32 *tab;
 	size_t tablen;



[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