]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/log: Fix infinite loop when scale is too large for display
authorShixiong Ou <oushixiong@kylinos.cn>
Wed, 29 Jul 2026 08:48:15 +0000 (16:48 +0800)
committerJocelyn Falempe <jfalempe@redhat.com>
Thu, 13 Aug 2026 13:49:40 +0000 (15:49 +0200)
commitf4f2bba28df9b9aaa00262a462139dbbcdc38d9f
treed20e3bd7c46cd02a28ace2e2281502d53484725b
parent60baa179ed1333535f6e2da4133511db55278ee4
drm/log: Fix infinite loop when scale is too large for display

When scale is large enough that scaled_font exceeds the display
dimensions, rows or columns become 0. A columns value of 0 causes
an infinite loop in drm_log_draw_kmsg_record() because the loop
never decrements len.

Check for zero rows/columns in drm_log_setup_modeset() and return
an error, cleaning up the already allocated buffer to avoid a leak.

Fixes: 8a4b913df427 ("drm/log: Add integer scaling support")
Signed-off-by: Shixiong Ou <oushixiong@kylinos.cn>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://patch.msgid.link/20260729084815.692944-1-oushixiong1025@163.com
Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
drivers/gpu/drm/clients/drm_log.c