drm/meson: Use 1000ULL when operating with mode->clock
authorI Hsin Cheng <richard120310@gmail.com>
Mon, 5 May 2025 18:43:38 +0000 (02:43 +0800)
committerNeil Armstrong <neil.armstrong@linaro.org>
Fri, 9 May 2025 18:53:07 +0000 (20:53 +0200)
Coverity scan reported the usage of "mode->clock * 1000" may lead to
integer overflow. Use "1000ULL" instead of "1000"
when utilizing it to avoid potential integer overflow issue.

Link: https://scan5.scan.coverity.com/#/project-view/10074/10063?selectedIssue=1646759
Signed-off-by: I Hsin Cheng <richard120310@gmail.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Fixes: 1017560164b6 ("drm/meson: use unsigned long long / Hz for frequency types")
Link: https://lore.kernel.org/r/20250505184338.678540-1-richard120310@gmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
drivers/gpu/drm/meson/meson_encoder_hdmi.c

index 7752d8ac85f0e5239c1a8b669a4428b158269436..c08fa93e50a30e75cd4c8bb2acdb340d7ee871bd 100644 (file)
@@ -75,7 +75,7 @@ static void meson_encoder_hdmi_set_vclk(struct meson_encoder_hdmi *encoder_hdmi,
        unsigned long long venc_freq;
        unsigned long long hdmi_freq;
 
-       vclk_freq = mode->clock * 1000;
+       vclk_freq = mode->clock * 1000ULL;
 
        /* For 420, pixel clock is half unlike venc clock */
        if (encoder_hdmi->output_bus_fmt == MEDIA_BUS_FMT_UYYVYY8_0_5X24)
@@ -123,7 +123,7 @@ static enum drm_mode_status meson_encoder_hdmi_mode_valid(struct drm_bridge *bri
        struct meson_encoder_hdmi *encoder_hdmi = bridge_to_meson_encoder_hdmi(bridge);
        struct meson_drm *priv = encoder_hdmi->priv;
        bool is_hdmi2_sink = display_info->hdmi.scdc.supported;
-       unsigned long long clock = mode->clock * 1000;
+       unsigned long long clock = mode->clock * 1000ULL;
        unsigned long long phy_freq;
        unsigned long long vclk_freq;
        unsigned long long venc_freq;