Subject: Coverity: ov5640_calc_pixel_rate(): Integer handling issues

From: coverity-bot <[email-masked]>
Date: Mon, 28 Oct 2019 16:02:24 -0700

Hello!

This is an experimental automated report about issues detected by Coverity
from a scan of next-20191025 as part of the linux-next weekly scan project:
https://scan.coverity.com/projects/linux-next-weekly-scan

You're getting this email because you were associated with the identified
lines of code (noted below) that were touched by recent commits:

cc196e48e517 ("media: ov5640: add PIXEL_RATE control")

Coverity reported the following:

*** CID 1487375:  Integer handling issues  (OVERFLOW_BEFORE_WIDEN)
/drivers/media/i2c/ov5640.c: 1626 in ov5640_calc_pixel_rate()
1620     }
1621
1622     static u64 ov5640_calc_pixel_rate(struct ov5640_dev *sensor)
1623     {
1624     	u64 rate;
1625
vvv     CID 1487375:  Integer handling issues  (OVERFLOW_BEFORE_WIDEN)
vvv     Potentially overflowing expression "sensor->current_mode->vtot * sensor->current_mode->htot" with type "unsigned int" (32 bits, unsigned) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type "u64" (64 bits, unsigned).
1626     	rate = sensor->current_mode->vtot * sensor->current_mode->htot;
1627     	rate *= ov5640_framerates[sensor->current_fr];
1628
1629     	return rate;
1630     }
1631

If this is a false positive, please let us know so we can mark it as
such, or teach the Coverity rules to be smarter. If not, please make
sure fixes get into linux-next. :) For patches fixing this, please
include:

Reported-by: coverity-bot <[email-masked]>
Addresses-Coverity-ID: 1487375 ("Integer handling issues")
Fixes: cc196e48e517 ("media: ov5640: add PIXEL_RATE control")

Thanks for your attention!

-- 
Coverity-bot