From: Xianting Tian Date: Wed, 12 Jan 2022 12:33:34 +0000 (+0800) Subject: drm/msm: Fix wrong size calculation X-Git-Tag: Ubuntu-5.15.0-20.20~75 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=98047c7cabbe1c3c6077cd78172fc239f3b2fd92;p=mirror_ubuntu-jammy-kernel.git drm/msm: Fix wrong size calculation BugLink: https://bugs.launchpad.net/bugs/1959879 commit 0a727b459ee39bd4c5ced19d6024258ac87b6b2e upstream. For example, memory-region in .dts as below, reg = <0x0 0x50000000 0x0 0x20000000> We can get below values, struct resource r; r.start = 0x50000000; r.end = 0x6fffffff; So the size should be: size = r.end - r.start + 1 = 0x20000000 Signed-off-by: Xianting Tian Fixes: 072f1f9168ed ("drm/msm: add support for "stolen" mem") Reviewed-by: Dmitry Baryshkov Link: https://lore.kernel.org/r/20220112123334.749776-1-xianting.tian@linux.alibaba.com Signed-off-by: Dmitry Baryshkov Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin Signed-off-by: Paolo Pisati --- diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 27f737a253c7..bbf999c66517 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -437,7 +437,7 @@ static int msm_init_vram(struct drm_device *dev) of_node_put(node); if (ret) return ret; - size = r.end - r.start; + size = r.end - r.start + 1; DRM_INFO("using VRAM carveout: %lx@%pa\n", size, &r.start); /* if we have no IOMMU, then we need to use carveout allocator.