]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
staging: sm750fb: fix division by zero in ps_to_hz()
authorJunrui Luo <moonafterrain@outlook.com>
Mon, 23 Mar 2026 07:31:56 +0000 (15:31 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Apr 2026 11:30:47 +0000 (13:30 +0200)
commit 75a1621e4f91310673c9acbcbb25c2a7ff821cd3 upstream.

ps_to_hz() is called from hw_sm750_crtc_set_mode() without validating
that pixclock is non-zero. A zero pixclock passed via FBIOPUT_VSCREENINFO
causes a division by zero.

Fix by rejecting zero pixclock in lynxfb_ops_check_var(), consistent
with other framebuffer drivers.

Fixes: 81dee67e215b ("staging: sm750fb: add sm750 to staging")
Reported-by: Yuhao Jiang <danisjiang@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Junrui Luo <moonafterrain@outlook.com>
Link: https://patch.msgid.link/SYBPR01MB7881AFBFCE28CCF528B35D0CAF4BA@SYBPR01MB7881.ausprd01.prod.outlook.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/sm750fb/sm750.c

index 2d54d52ba3575de2204def997f15086e7d3acd8e..458b528d98b3b6a28a252dbf9c8dfdde476fa641 100644 (file)
@@ -481,6 +481,9 @@ static int lynxfb_ops_check_var(struct fb_var_screeninfo *var,
        struct lynxfb_crtc *crtc;
        resource_size_t request;
 
+       if (!var->pixclock)
+               return -EINVAL;
+
        ret = 0;
        par = info->par;
        crtc = &par->crtc;