On 2025-12-04 at 14:38:26 GMT, Krzysztof Karas wrote:
> dma_addr calculations are carried out using 32-bit
> arithmetic, which could cause a truncation of the values
> before they are extended to 64 bits. Cast one of the operands
> to dma_addr_t, so 64-bit arithmetic is used.
> 
> Signed-off-by: Krzysztof Karas <[email protected]>

Reviewed-by: Krzysztof Niemiec <[email protected]>

Thanks
Krzysztof

> ---
>  drivers/gpu/drm/drm_fb_dma_helper.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_fb_dma_helper.c 
> b/drivers/gpu/drm/drm_fb_dma_helper.c
> index 2b2513188001..c3b9e49bd755 100644
> --- a/drivers/gpu/drm/drm_fb_dma_helper.c
> +++ b/drivers/gpu/drm/drm_fb_dma_helper.c
> @@ -104,8 +104,8 @@ dma_addr_t drm_fb_dma_get_gem_addr(struct drm_framebuffer 
> *fb,
>       block_start_y = (sample_y / block_h) * block_h;
>       num_hblocks = sample_x / block_w;
>  
> -     dma_addr += fb->pitches[plane] * block_start_y;
> -     dma_addr += block_size * num_hblocks;
> +     dma_addr += (dma_addr_t)fb->pitches[plane] * block_start_y;
> +     dma_addr += (dma_addr_t)block_size * num_hblocks;
>  
>       return dma_addr;
>  }
> -- 
> 2.34.1
> 

Reply via email to