drm_format_info_block_width/height() may return 0 and cause division by 0 down the line. Warn and return early if any of these values are 0.
Signed-off-by: Krzysztof Karas <[email protected]> --- v5 (Jani): * split first two patches and revert back to early return; v4 (Andi): * use WARN_ON_ONCE() instead of returning early; drivers/gpu/drm/drm_fb_dma_helper.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/drm_fb_dma_helper.c b/drivers/gpu/drm/drm_fb_dma_helper.c index fd71969d2fb1..2b2513188001 100644 --- a/drivers/gpu/drm/drm_fb_dma_helper.c +++ b/drivers/gpu/drm/drm_fb_dma_helper.c @@ -85,6 +85,9 @@ dma_addr_t drm_fb_dma_get_gem_addr(struct drm_framebuffer *fb, u32 block_start_y; u32 num_hblocks; + if (WARN_ON_ONCE(block_w == 0 || block_h == 0)) + return 0; + obj = drm_fb_dma_get_gem_obj(fb, plane); if (!obj) return 0; -- 2.34.1
