amlogic/media: lcd: Fix division by zero 64/251864/1
authorSeung-Woo Kim <sw0312.kim@samsung.com>
Wed, 20 Jan 2021 05:25:45 +0000 (14:25 +0900)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Wed, 20 Jan 2021 05:28:26 +0000 (14:28 +0900)
commit03aa4bdcdf1825497cfbaf6dae4cdf28284e5e37
tree4c750efac270a2230b50eff0ce93c96d88277d4f
parent5f1acde8c82eb3099af328a6e4f5155051ed809d
amlogic/media: lcd: Fix division by zero

If no lcd is set by bootargs, it can not choose lcd type from
device tree and it causes division by zero. Fix the it by checking
division value.

This fixes below ubsan warnings:
   UBSAN: Undefined behaviour in drivers/amlogic/media/vout/lcd/lcd_common.c:777:59
   UBSAN: Undefined behaviour in drivers/amlogic/media/vout/lcd/lcd_common.c:778:43
   UBSAN: Undefined behaviour in drivers/amlogic/media/vout/lcd/lcd_common.c:784:53
   UBSAN: Undefined behaviour in drivers/amlogic/media/vout/lcd/lcd_common.c:786:59
   UBSAN: Undefined behaviour in drivers/amlogic/media/vout/lcd/lcd_common.c:787:43
   division by zero
   ...
   [ffffff9200003610+  96][<ffffff9009b70fac>] __ubsan_handle_divrem_overflow+0x8c/0xc8
   [ffffff9200003670+ 144][<ffffff900a582eac>] lcd_timing_init_config+0x254/0x390
   [ffffff9200003700+ 544][<ffffff900a5aeb50>] lcd_tablet_probe+0xfa0/0x3f50
   [ffffff9200003920+  64][<ffffff900a57a51c>] lcd_mode_probe+0x54/0x6c0
   [ffffff9200003960+ 272][<ffffff900a57bf5c>] lcd_probe+0x984/0x1070
   ...

Change-Id: I6ad73fcd554715c1d7ac3cadf82ead251b596e1c
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
drivers/amlogic/media/vout/lcd/lcd_common.c