Message ID | 20230405202559.2232430-1-hussein@unixcat.org |
---|---|
State | Accepted |
Headers | show |
Series | drm/tegra : Avoid potential integer overflow of 32 bit int | expand |
From: Thierry Reding <treding@nvidia.com> On Thu, 6 Apr 2023 04:25:59 +0800, Nur Hussein wrote: > In tegra_sor_compute_config(), the 32-bit value mode->clock > is multiplied by 1000, and assigned to the u64 variable pclk. > We can avoid a potential 32-bit integer overflow by casting > mode->clock to u64 before we do the arithmetic and assignment. > > Applied, thanks! [1/1] drm/tegra : Avoid potential integer overflow of 32 bit int (no commit info) Best regards,
diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c index cd25f409979c..8d910695775c 100644 --- a/drivers/gpu/drm/tegra/sor.c +++ b/drivers/gpu/drm/tegra/sor.c @@ -1153,7 +1153,7 @@ static int tegra_sor_compute_config(struct tegra_sor *sor, struct drm_dp_link *link) { const u64 f = 100000, link_rate = link->rate * 1000; - const u64 pclk = mode->clock * 1000; + const u64 pclk = (u64)mode->clock * 1000; u64 input, output, watermark, num; struct tegra_sor_params params; u32 num_syms_per_line;
In tegra_sor_compute_config(), the 32-bit value mode->clock is multiplied by 1000, and assigned to the u64 variable pclk. We can avoid a potential 32-bit integer overflow by casting mode->clock to u64 before we do the arithmetic and assignment. Signed-off-by: Nur Hussein <hussein@unixcat.org> --- drivers/gpu/drm/tegra/sor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)