linux/drivers/gpu/drm/tiny
Nikita Zhandarovich 31330248ab drm/repaper: fix integer overflows in repeat functions
commit 4d098000ac upstream.

There are conditions, albeit somewhat unlikely, under which right hand
expressions, calculating the end of time period in functions like
repaper_frame_fixed_repeat(), may overflow.

For instance, if 'factor10x' in repaper_get_temperature() is high
enough (170), as is 'epd->stage_time' in repaper_probe(), then the
resulting value of 'end' will not fit in unsigned int expression.

Mitigate this by casting 'epd->factored_stage_time' to wider type before
any multiplication is done.

Found by Linux Verification Center (linuxtesting.org) with static
analysis tool SVACE.

Fixes: 3589211e9b ("drm/tinydrm: Add RePaper e-ink driver")
Cc: stable@vger.kernel.org
Signed-off-by: Nikita Zhandarovich <n.zhandarovich@fintech.ru>
Signed-off-by: Alex Lanzano <lanzano.alex@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250116134801.22067-1-n.zhandarovich@fintech.ru
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-04-25 10:45:52 +02:00
..
arcpgu.c drm/arcpgu: Use GEM DMA fbdev emulation 2023-03-14 17:07:49 +01:00
bochs.c drm/fbdev-generic: Remove unused prefer_shadow_fbdev flag 2023-03-22 13:32:47 +01:00
cirrus.c drm/cirrus: Use VGA macro constants to unblank 2023-03-13 10:37:09 +01:00
gm12u320.c drm: gm12u320: Fix the timeout usage for usb_bulk_msg() 2023-09-04 10:00:57 +02:00
hx8357d.c drm/mipi-dbi: Initialize default driver functions with macro 2022-12-05 13:36:16 +01:00
ili9163.c drm/mipi-dbi: Initialize default driver functions with macro 2022-12-05 13:36:16 +01:00
ili9225.c drm/mipi-dbi: Lock SPI bus before setting D/C GPIO 2023-08-02 13:18:07 +02:00
ili9341.c drm/mipi-dbi: Initialize default driver functions with macro 2022-12-05 13:36:16 +01:00
ili9486.c drm/mipi-dbi: Lock SPI bus before setting D/C GPIO 2023-08-02 13:18:07 +02:00
Kconfig drm/ofdrm: Depend on CONFIG_MMU 2022-11-03 10:17:53 +01:00
Makefile drm/ofdrm: Add ofdrm for Open Firmware framebuffers 2022-10-14 09:49:47 +02:00
mi0283qt.c drm/mipi-dbi: Initialize default driver functions with macro 2022-12-05 13:36:16 +01:00
ofdrm.c drm/tiny: Convert to platform remove callback returning void 2023-06-08 09:04:12 -07:00
panel-mipi-dbi.c drm/tiny: panel-mipi-dbi: Allow sharing the D/C GPIO 2023-08-02 13:18:34 +02:00
repaper.c drm/repaper: fix integer overflows in repeat functions 2025-04-25 10:45:52 +02:00
simpledrm.c drm/tiny: correctly print struct resource * on error 2023-10-12 10:57:07 +02:00
st7586.c drm/mipi-dbi: Move drm_dev_{enter, exit}() out from fb_dirty functions 2022-12-05 14:21:18 +01:00
st7735r.c drm/mipi-dbi: Initialize default driver functions with macro 2022-12-05 13:36:16 +01:00