This is a note to let you know that I've just added the patch titled iio: tsl2583: Fix division by a zero lux_val to the 4.4-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: iio-tsl2583-fix-division-by-a-zero-lux_val.patch and it can be found in the queue-4.4 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From af0e1871d79cfbb91f732d2c6fa7558e45c31038 Mon Sep 17 00:00:00 2001 From: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Fri, 7 May 2021 19:30:41 +0100 Subject: iio: tsl2583: Fix division by a zero lux_val From: Colin Ian King <colin.king@xxxxxxxxxxxxx> commit af0e1871d79cfbb91f732d2c6fa7558e45c31038 upstream. The lux_val returned from tsl2583_get_lux can potentially be zero, so check for this to avoid a division by zero and an overflowed gain_trim_val. Fixes clang scan-build warning: drivers/iio/light/tsl2583.c:345:40: warning: Either the condition 'lux_val<0' is redundant or there is division by zero at line 345. [zerodivcond] Fixes: ac4f6eee8fe8 ("staging: iio: TAOS tsl258x: Device driver") Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> [iwamatsu: Change file path.] Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/staging/iio/light/tsl2583.c | 9 +++++++++ 1 file changed, 9 insertions(+) --- a/drivers/staging/iio/light/tsl2583.c +++ b/drivers/staging/iio/light/tsl2583.c @@ -378,6 +378,15 @@ static int taos_als_calibrate(struct iio dev_err(&chip->client->dev, "taos_als_calibrate failed to get lux\n"); return lux_val; } + + /* Avoid division by zero of lux_value later on */ + if (lux_val == 0) { + dev_err(&chip->client->dev, + "%s: lux_val of 0 will produce out of range trim_value\n", + __func__); + return -ENODATA; + } + gain_trim_val = (unsigned int) (((chip->taos_settings.als_cal_target) * chip->taos_settings.als_gain_trim) / lux_val); Patches currently in stable-queue which might be from colin.king@xxxxxxxxxxxxx are queue-4.4/media-m88rs6000t-avoid-potential-out-of-bounds-reads.patch queue-4.4/staging-rtl8192u-fix-potential-infinite-loop.patch queue-4.4/net-thunderx-fix-unintentional-sign-extension-issue.patch queue-4.4/memory-gpmc-fix-out-of-bounds-read-and-dereference-o.patch queue-4.4/mt7601u-fix-always-true-expression.patch queue-4.4/clk-socfpga-arria10-fix-memory-leak-of-socfpga_clk-o.patch queue-4.4/usb-gadget-r8a66597-add-missing-null-check-on-return.patch queue-4.4/iio-tsl2583-fix-division-by-a-zero-lux_val.patch queue-4.4/net-davinci_emac-fix-incorrect-masking-of-tx-and-rx-.patch queue-4.4/drm-radeon-fix-copy-of-uninitialized-variable-back-to-userspace.patch queue-4.4/media-vivid-fix-assignment-of-dev-fbuf_out_flags.patch