diff mbox series

drm/tegra : Avoid potential integer overflow of 32 bit int

Message ID 20230405202559.2232430-1-hussein@unixcat.org
State Accepted
Headers show
Series drm/tegra : Avoid potential integer overflow of 32 bit int | expand

Commit Message

Nur Hussein April 5, 2023, 8:25 p.m. UTC
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(-)

Comments

Thierry Reding April 6, 2023, 12:03 p.m. UTC | #1
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 mbox series

Patch

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;