lkml.org 
[lkml]   [2022]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 06/30] video: fbdev: pxa3xx-gcu: Fix integer overflow in pxa3xx_gcu_write
    Date
    From: Hyunwoo Kim <imv4bel@gmail.com>

    [ Upstream commit a09d2d00af53b43c6f11e6ab3cb58443c2cac8a7 ]

    In pxa3xx_gcu_write, a count parameter of type size_t is passed to words of
    type int. Then, copy_from_user() may cause a heap overflow because it is used
    as the third argument of copy_from_user().

    Signed-off-by: Hyunwoo Kim <imv4bel@gmail.com>
    Signed-off-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/video/fbdev/pxa3xx-gcu.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/video/fbdev/pxa3xx-gcu.c b/drivers/video/fbdev/pxa3xx-gcu.c
    index 184773b6b9e4..2cca4b763d8d 100644
    --- a/drivers/video/fbdev/pxa3xx-gcu.c
    +++ b/drivers/video/fbdev/pxa3xx-gcu.c
    @@ -391,7 +391,7 @@ pxa3xx_gcu_write(struct file *file, const char *buff,
    struct pxa3xx_gcu_batch *buffer;
    struct pxa3xx_gcu_priv *priv = to_pxa3xx_gcu_priv(file);

    - int words = count / 4;
    + size_t words = count / 4;

    /* Does not need to be atomic. There's a lock in user space,
    * but anyhow, this is just for statistics. */
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-09-26 12:16    [W:5.064 / U:0.296 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site