Hi
Am 04.10.25 um 02:43 schrieb Helge Deller:
On 10/3/25 09:32, Albin Babu Varghese wrote:
Add bounds checking to prevent writes past framebuffer boundaries when
rendering text near screen edges. Return early if the Y position is
off-screen
and clip image height to screen boundary. Break from the rendering
loop if the
X position is off-screen. When clipping image width to fit the
screen, update
the character count to match the clipped width to prevent buffer size
mismatches.
Without the character count update, bit_putcs_aligned and
bit_putcs_unaligned
receive mismatched parameters where the buffer is allocated for the
clipped
width but cnt reflects the original larger count, causing
out-of-bounds writes.
Reported-by: [email protected]
Closes: https://syzkaller.appspot.com/bug?extid=48b0652a95834717f190
Suggested-by: Helge Deller <[email protected]>
Tested-by: [email protected]
Signed-off-by: Albin Babu Varghese <[email protected]>
---
Changes in v2:
- Partially render when height exceeding screen boundaries instead of
skipping
- Update character count when width is clipped to prevent buffer
mismatch
Link to v1:
https://lore.kernel.org/all/[email protected]/
---
drivers/video/fbdev/core/bitblit.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
applied.
This patch mangles fbcon output on fbdev HW drivers. It's reproducible
on matroxfb and sisfb. Reverting the change restores these driver's
functionality.
Fbcon from within DRM's fbdev emulation works.
Best regards
Thomas
Thanks!
Helge
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Stefan Gaiser, Jochen Jaser, Abhinav Puri, (HRB 36809, AG Nürnberg)