]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/tegra: Avoid potential 32-bit integer overflow
authorNur Hussein <hussein@unixcat.org>
Wed, 5 Apr 2023 20:25:59 +0000 (04:25 +0800)
committerThierry Reding <treding@nvidia.com>
Thu, 6 Apr 2023 12:02:33 +0000 (14:02 +0200)
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>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/gpu/drm/tegra/sor.c

index cd25f409979c35ca6723b768c0379ea6e14489dd..8d910695775c3a1fc1440d78ef4c9565f159c0de 100644 (file)
@@ -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;