]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/log: Fix division by zero when scale module parameter is 0
authorShixiong Ou <oushixiong@kylinos.cn>
Thu, 30 Jul 2026 01:44:40 +0000 (09:44 +0800)
committerJocelyn Falempe <jfalempe@redhat.com>
Thu, 13 Aug 2026 13:46:50 +0000 (15:46 +0200)
The scale module parameter can be set to 0 via kernel command line.
When scale is 0, scaled_font_h and scaled_font_w become 0, causing
a division by zero in the rows/columns calculation.

Since the scale module parameter is read-only (0444 permissions), it
cannot be changed at runtime via sysfs. Clamp it to 1 once in
drm_log_register().

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/20260730014440.66323-1-oushixiong1025@163.com
Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
drivers/gpu/drm/clients/drm_log.c

index 8d21b785bead62c7db6a49a5c1978dc9f289f01c..a3259b8f233337d7768c9d1e539f0887f55634da 100644 (file)
@@ -419,6 +419,9 @@ void drm_log_register(struct drm_device *dev)
 {
        struct drm_log *new;
 
+       if (!scale)
+               scale = 1;
+
        new = kzalloc_obj(*new);
        if (!new)
                goto err_warn;