]> git.baikalelectronics.ru Git - kernel.git/commit
video: fbdev: s3fb: Error out if 'pixclock' equals zero
authorZheyu Ma <zheyuma97@gmail.com>
Mon, 4 Apr 2022 08:47:23 +0000 (16:47 +0800)
committerHelge Deller <deller@gmx.de>
Mon, 11 Apr 2022 06:23:50 +0000 (08:23 +0200)
commitd3db4e15ed9718c54d4b14c89a5715394e081b29
treec82d6daf29a2baeba74279ce42bd8f8c5bb21f6c
parent979b34513c9488b412c93b41a0e60973f56eb8c5
video: fbdev: s3fb: Error out if 'pixclock' equals zero

The userspace program could pass any values to the driver through
ioctl() interface. If the driver doesn't check the value of 'pixclock',
it may cause divide error.

Fix this by checking whether 'pixclock' is zero in s3fb_check_var().

The following log reveals it:
 divide error: 0000 [#1] PREEMPT SMP KASAN PTI
 RIP: 0010:s3fb_check_var+0x3f3/0x530
 Call Trace:
  <TASK>
  fb_set_var+0x367/0xeb0
  do_fb_ioctl+0x234/0x670
  fb_ioctl+0xdd/0x130
  do_syscall_64+0x3b/0x90

Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/video/fbdev/s3fb.c